- Treballant en la lectura de arxius de dades

This commit is contained in:
2024-05-31 14:00:39 +02:00
parent 3ae52e1306
commit eb34fcd41a
3 changed files with 92 additions and 25 deletions

View File

@@ -34,8 +34,9 @@ namespace file
/// @brief Recordar alliberar la memoria del buffer amb free(buffer) al acabar amb ell.
/// @param resourcename el nom de l'arxiu del que volem obrindre el buffer
/// @param filesize paràmetre de retorn. Ací es torna el tamany de l'arxiu
/// @param zeroTerminated si afegim un caràcter 0 al final (per defecte no)
/// @return un array de "filesize" bytes amb el contingut del arxiu
char *getFileBuffer(const std::string resourcename, int &filesize);
char *getFileBuffer(const std::string resourcename, int &filesize, const bool zeroTerminated=false);
// Funcions d'access a la configuració (clau = valor)
// -----------------------------------------------------------------------------------------------------------
@@ -57,4 +58,32 @@ namespace file
/// @param key clau a la que establir un valor
/// @param value valor a establir per a la clau
void setConfigValue(const std::string key, const std::string value);
// Funcions per a treballar amb arxius de text
// -----------------------------------------------------------------------------------------------------------
/// @brief Llig un enter de l'arxiu especificat. En cas de no poder, torna 0.
/// @param buffer punter a l'arxiu d'on llegir
/// @return el enter llegit de l'arxiu
int readInt(const char **buffer);
/// @brief Llig una cadena de l'arxiu especificat. En cas de no poder, torna nullptr.
/// @param buffer punter a l'arxiu d'on llegir
/// @param stopOnLineEnd Si s'ha de parar la búsqueda (i tornar nullptr) al trobar un final de linea
/// @return cadena llegida de l'arxiu. No alliberar la seua memòria, pero usar-la abans de tornar a llegir altre valor
const char *readString(const char **buffer, const bool stopOnLineEnd=false);
/// @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);
/// @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);
/// @brief Escriu un salt de linea a l'arxiu especificat.
/// @param buffer punter a'larxiu on escriure
void jumpLine(const char **buffer);
}