- Mes treball en lo dels arxius de dades

This commit is contained in:
2024-06-04 14:29:12 +02:00
parent eb34fcd41a
commit b74ad6254a
3 changed files with 30 additions and 12 deletions

View File

@@ -424,6 +424,8 @@ namespace file
saveConfigValues();
}
char tmp[255];
void ignoreWhitespace(const char **buffer, const bool stopOnLineEnd=false)
{
if (!stopOnLineEnd)
@@ -435,32 +437,48 @@ namespace file
// Llig una cadena de l'arxiu especificat. En cas de no poder, torna nullptr.
const char *readString(const char **buffer, const bool stopOnLineEnd=false)
{
ignoreWhitespace(buffer);
ignoreWhitespace(buffer, stopOnLineEnd);
if (**buffer==0) return nullptr;
if (stopOnLineEnd && **buffer=='\n')
{
(*buffer)++;
return nullptr;
}
int i=0;
while (**buffer>32 && i<255)
{
tmp[i++] = *(*buffer++);
}
return tmp;
}
// Llig un enter de l'arxiu especificat. En cas de no poder, torna 0.
int readInt(const char **buffer)
{
ignoreWhitespace(buffer);
if (**buffer==0) return 0;
return atoi(readString(buffer));
}
// Escriu una cadena a l'arxiu especificat.
void writeString(const char **buffer, const char* str)
void writeString(FILE *f, const char* str)
{
fprintf(f, "%s ", str);
}
// Escriu un enter a l'arxiu especificat.
void writeInt(const char **buffer, const int value)
void writeInt(FILE *f, const int value)
{
fprintf(f, "%i ", value);
}
// Escriu un salt de linea a l'arxiu especificat.
void jumpLine(const char **buffer)
void jumpLine(FILE *f)
{
fprintf(f, "\n");
}
}

View File

@@ -76,14 +76,14 @@ namespace file
/// @brief Escriu una cadena a l'arxiu especificat.
/// @param buffer punter a l'arxiu on escriure
/// @param str la cadena a escriure
void writeString(const char **buffer, const char* str);
void writeString(FILE *f, const char* str);
/// @brief Escriu un enter a l'arxiu especificat.
/// @param buffer punter a l'arxiu on escriure
/// @param value L'enter a escriure
void writeInt(const char **buffer, const int value);
void writeInt(FILE *f, const int value);
/// @brief Escriu un salt de linea a l'arxiu especificat.
/// @param buffer punter a'larxiu on escriure
void jumpLine(const char **buffer);
void jumpLine(FILE *f);
}