Hola! No es que sea nuevo aquí, pero nunca he publicado mi propio aporte. Lo pongo en Programación en C y C++ porque, al fin y al cabo, esta librería está hecha en, y para, el lenguaje C. Espero que os guste, pero, antes:
Gracias a...
Sin ellos, jamás tendría lo que tengo ahora, así que... por eso lo pongo.
A lo que iba. IO Utilities es una librería con 20 funciones orientadas al manejo de archivos, y 3 adicionales para el manejo de strings (las usa internamente pero igual pueden ser de utilidad). Digamos que la empecé como un archivo de cabecera a incluir en cada proyecto que necesitase de copiar, escribir y leer de archivos de texto, encriptar, desencriptar...
Me tomé la molestia de documentarla con el Doxygen, así que no merece la pena describir aquí cada función. Pongo el nombre, y la descripción para aquellas que pueda no saberse su utilidad por él:
int strnum (const char *str, const char *tok) // número de ocurrencias de *tok* en *str*
char * strbeg (char *str, int c) // primeros *c* caracteres en *str*
char * strend (char *str, int c) // últimos *c* caracteres en *str*
char * ioNopath (const char *path) // sólo nombre de archivo y extensión de *path*
char * ioExtension (const char *path) // sólo extensión (o extensiones) de *path*
void ioCreate (const char *path) // crea un archivo vacío. sobreescribe
int ioMkdir (const char *path) // crea una carpeta vacía. permisos predefinidos
int ioNumdir (const char *path) // número de elementos dentro de una carpeta
int ioRmdir (const char *path) // borra una carpeta recursivamente
int ioFileExists (const char *path) // si un archivo existe o no
int ioDirectoryExists (const char *path) // si un directorio existe o no
char * ioEledir (const char *path, int index) // devuelve el nombre del elemento *index* en la carpeta *path*
int ioGetFileSize (const char *path) // tamaño de un archivo
int ioGetDirectorySize (const char *path) // tamaño de una carpeta
int ioCopyFile (const char *source, const char *dest, const char *mode, int bufsize) // copia un archivo
int ioCopyDirectory (const char *source, const char *dest, const char *mode, int bufsize) // copia un directorio
int ioWriteLine (const char *path, const char *text) // escribe una linea a un archivo de texto
void ioReadChars (FILE *fd, char *buffer, int chars) // lee *chars* caracteres de *fd* y los pone en *buffer*
int ioGetLines (const char *path) // devuelve el número de lineas del archivo *path*
int ioGetMaxLineLen (const char *path) // devuelve la longitud de la linea más larga de *path*
int ioReadLine (const char *path, char *buffer, int line) // lee la linea *line* de *path* y la pone en *buffer*
int ioEncryptFile (const char *source, const char *dest, const char *mode, char key[]) // encripta un archivo con una clave personalizada en forma de array
int ioDecryptFile (const char *source, const char *dest, const char *mode, char key[]) // desencripta con clave
Descarga: http://www.mediafire.com/?6e7jtwgca2z0e
Aunque está todo en inglés, confío que me entendáis (si os interesa esto) pero si no, para cualquier duda...
Un saludo a todos!
http://www.mhypnok.blogspot.com/
Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...
Buen aporte
Estas funciones parecen bastante útiles, sigue así!
Gracias
Gracias ;-)