Funciones
Función clearerr
void clearerr(FILE *stream);
La función clearerr
despeja los indicadores de final de fichero y de posición de fichero para el stream apuntado por stream
al comienzo del fichero.
Valor de retorno:
La función clearerr
no retorna ningún valor.
Ejemplo:
Función fclose
int fclose(FILE *stream);
El stream apuntado por stream
será despejado y el fichero asociado, cerrado.
Cualquier dato almacenado aún sin escribir para el stream
será enviado al entorno local para escribirse en el fichero; cualquier dato almacenado aún sin leer será descartado. El stream está desasociado del fichero. Si el almacenamiento asociado fue automáticamente adjudicado, será desadjudicado.
Valor de retorno:
La función fclose
devuelve cero si el stream se cierra con éxito. Si se detectaron errores, entonces devuelve EOF.
Ejemplo:
Función feof
int feof(FILE *stream);
La función feof
comprueba el indicador de final de fichero para el stream apuntado por stream
.
Valor de retorno:
La función feof
retorna un valor distinto a cero si y sólo si el indicador de final de fichero está activado para el stream
.
Ejemplo:
Función ferror
int ferror(FILE *stream);
La función ferror
comprueba el indicador de errores para el stream apuntado por stream
.
Valor de retorno:
La función ferror
retorna un valor distinto a cero si y sólo si el indicador de errores está activado para el stream
.
Ejemplo:
Función fflush
int fflush(FILE *stream);
Si stream
apunta a un stream de salida o de actualización cuya operación más reciente no era de entrada, la función fflush
envía cualquier dato aún sin escribir al entorno local o para ser escrito en el fichero; si no, entonces el comportamiento no está definido. Si stream
es un puntero nulo, la función fflush
se despeja para todos los streams cuyo comportamiento está descrito anteriormente.
Valor de retorno:
La función fflush
retorna cero si el stream
fue despejado con éxito. Si se detectan errores, entonces devuelve EOF
.
Ejemplo:
Función fgetc
int fgetc(FILE *stream);
Esta función obtiene el carácter siguiente (si está presente) como un unsigned char convertido a int, desde el stream de entrada apuntado por stream
, y avanza el indicador de posición de ficheros asociado al stream (si está definido).
Valor de retorno:
La función fgetc
retorna el carácter siguiente desde el stream de entrada apuntado por stream
. Si el stream está en el final de fichero, el indicador del final de fichero para el stream es activado y fgetc
devuelve EOF
. Si ocurre un error de lectura, el indicador de error para el stream es activado y fgetc
devuelve EOF
.
Ejemplo:
Función fgetpos
int fgetpos(FILE *stream, fpos_t *posicion);
La función fgetpos
guarda el valor actual del indicador de posición de ficheros para el stream apuntado por stream
en el objeto apuntado por posicion
. El valor guardado contiene información no especificado servible a la función fsetpos
para recolocar el stream a su posición cuando se llamó a la función fgetpos
.
Valor de retorno:
La función fgetpos
devuelve cero si es llevada a cabo con éxito. Si falla, la función retorna un valor distinto a cero y guarda un valor positivo, según la definición de la implementación del errno
.
Ejemplo:
Función fgets
char *fgets(char *cadena, int n, FILE *stream);
Esta función lee como máximo uno menos que el número de caracteres indicado por n
desde el stream apuntado por stream
al array apuntado por cadena
. Ningún carácter adicional es leído después del carácter de nueva línea (el cual es retenido) o después de un final de fichero (EOF
). Escribe el carácter nulo inmediatamente después del último carácter leído desde el array.
Valor de retorno:
La función fgets
retorna cadena
si se realiza con éxito. Si encuentra un final de fichero (EOF
) y no ha leido ningún carácter en el array, entonces el contenido del array permanece invariable devolviendo un puntero nulo. Si ocurre un error de lectura durante el proceso, el contenido del array es indeterminado devolviendo un puntero nulo.
Ejemplo:
Función fopen
FILE *fopen(const char *nombre, const char *modo);
Abre un fichero cuyo nombre es la cadena apuntada por nombre
, y adjudica un stream a ello. El argumento modo
apunta a una cadena empezando con una serie de caracteres de la siguiente secuencia:
Abriendo un fichero con el modo de lectura (‘r‘ como el primer carácter del argumento modo) fallará si el fichero no existe o no puede ser leído. Abriendo el fichero con el modo añadir (‘a‘ como el primer carácter del argumento modo) ocasiona todas las escrituras posteriores al fichero a ser forzadas al final de fichero (EOF) actual, sin considerar llamadas interventivas a la función fseek. En algunas implementaciones, abriendo un fichero en modo binario con el modo de añadidura (‘b’como el segundo o tercer carácter del argumento modo) puede colocar, inicialmente, el indicador de posición de ficheros para el stream más allá de los últimos datos escritos, debido al relleno de caracteres nulos.
Cuando se abre un fichero con el modo de actualización (‘+’ como el segundo o tercer carácter del argumento modo), la entrada y salida pueden ser manipuladas desde el stream asociado. Sin embargo, la salida no puede estar seguida directamente de una entrada sin tener una llamada interventiva a la función fflush
o a una función de manipulación del fichero de posición (fseek
, fsetpos
, o rewind
), y la entrada no puede estar seguida directamente de una salida sin tener una llamada interventiva a una función de manipulación del fichero de posición, al menos que el proceso de entrada encuentre un final de fichero (EOF
). Abriendo (o creando) un fichero de texto con el modo de actualización en lugar de abrir (o crear) un stream binario en algunas implementaciones.
Cuando se abre, un stream es almacenado completamente si, y sólo si, no hace referencia a un dispositivo interactivo. Los indicadores de error y final de fichero (EOF
) para el stream son borrados.
Valor de retorno:
La función fopen
devuelve un puntero al objeto controlando el stream. Si el proceso de abertura no realiza el final de fichero, entonces devuelve un puntero nulo.
Ejemplo:
Apertura de un archivo en modo de escritura usando fopen()
Apertura de un archivo en modo de lectura usando fopen()
Apertura de un archivo en modo append usando fopen()
Función fscanf
int fscanf(FILE *stream, const char *formato, …);
Valor de retorno:
La función fscanf
retorna el número de datos de entrada asignados, que puede ser menor que ofrecido, incluso cero, en el caso de un error de asignación. Si ocurre un error de entrada antes de cualquier conversión, la función fscanf
retorna el valor de la macro EOF
.
Ejemplo:
Función fprintf
int fprintf(FILE *stream, const char *formato, …);
Esta función envía datos al stream apuntado por stream
, bajo el control de la cadena apuntada por formato
que especifica cómo los argumentos posteriores son convertidos para la salida. Si los argumentos son insuficientes para el formato
, el comportamiento no está definido. Si el formato
termina mientras quedan argumentos, los argumentos restantes son evaluados (como siempre) pero ignorados. La función devuelve el control cuando encuentra el final de la cadena formato
.
Valor de retorno:
La función fprintf
devuelve el número de caracteres transmitidos, o un valor negativo si se produce un error de salida.
Ejemplo:
Función fputc
int fputc(int c, FILE *stream);
Esta función escribe el carácter indicado por c (convertido a un unsigned char) al stream de salida apuntado por stream
, en la posición indicada por el indicador de posición de ficheros asociado al stream (si está definido), y
avanza el indicador apropiadamente. Si el fichero no soporta las peticiones de posición, o si el stream fue abierto en el modo añadido (append), el carácter es añadido al stream
de salida.
Valor de retorno:
La función fputc
devuelve el carácter escrito. Si ocurre un error de escritura, se activa el indicador de error para el stream y fputc
devuelve EOF
.
Ejemplo:
Función fputs
int fputs(const char *cadena, FILE *stream);
Esta función escribe la cadena apuntada por cadena
al stream apuntado por stream
. El carácter nulo no se escribe.
Valor de retorno:
La función fputs
devuelve EOF
si ocurre un error de escritura, si no, entonces devuelve un valor no negativo.
Ejemplo:
Función fread
size_t fread(void *puntero, size_t tamanyo, size_t nmemb, FILE *stream);
La función fread
recibe, en el array apuntado por puntero
, hasta nmemb
elementos cuyo tamaño es especificado por tamanyo
, desde el stream apuntado por stream
. El indicador de posición de ficheros para el stream (si está definido) es avanzado por el número de caracteres leídos correctamente. Si existe un error, el valor resultante del indicador de posición de ficheros para el stream es indeterminado. Si un elemento es parcialmente leído, entonces su valor es indeterminado.
Valor de retorno:
La función fread
devuelve el número de caracteres leídos correctamente, el cual puede ser menor que nmemb
si se encuentra un error de lectura o un final de fichero. Si tamanyo
o nmemb
es cero, fread
devuelve cero, y el contenido del array y el estado del stream permanecen invariables.
Ejemplo:
Función free
void free(void *ptr);
Causa el espacio apuntado por ptr
para ser desadjudicado, esto es, estar disponible para otra adjudicación. Si ptr
es un puntero nulo, no se realizará ninguna acción. De lo contrario, si el argumento no corresponde a un puntero previamente devuelto por la función calloc
, malloc
, o realloc
, o si el espacio ha sido desadjudicado por una llamada a free
o realloc
, el comportamiento no está definido.
Valor de retorno:
La función free
no devuelve ningún valor.
Ejemplo:
Función freopen
FILE *freopen(const char *nombre, const char *modo, FILE *stream);
Abre un fichero cuyo nombre es la cadena apuntada por nombre
y adjudica un stream a ello apuntado por stream
. El argumento modo es usado como en la función fopen
.
La función freopen
primeramente intenta cerrar cualquier fichero que esté asociado con el stream
especificado. Se ignora el error por no cerrar el fichero con éxito. Los indicadores de error y final de fichero (EOF
) para el stream
son borrados.
Valor de retorno:
La función freopen
dvuelve un puntero nulo si el proceso de apertura falla. De no ser así, freopen
devuelve el valor de stream
.
Ejemplo:
Función frexp
double frexp(double valor, int *exp);
Parte en dos el número de coma flotante en una fracción normalizada y un entero con potencia a la 2. Guarda el entero en el objecto int
apuntado por exp
.
Valor de retorno:
La función frexp
retorna el valor de x de tal manera que x es un double con magnitud en el intervalo [1/2, 1] o cero, y valor = x * 2 * exp
. Si valor es cero, ambas partes del resultado serán cero.
Ejemplo:
Función fseek
int fseek(FILE *stream, long int desplazamiento, int origen);
fseek
se usa para mover el puntero de archivo asociado con un archivo dado a una posición específica.
Valor de retorno:
La función fseek
devuelve un valor distinto a cero sólo si una petición no se pudo satisfacer.
Ejemplo:
Función fsetpos
int fsetpos(FILE *stream, const fpos_t *posicion);
La función fsetpos
activa el indicador de posición de ficheros para el stream apuntado por stream
según el valor del objeto apuntado por posicion
, el cual será un valor obtenido de una llamada previa a la función fgetpos
del mismo stream. Una llamada correcta a la función fsetpos
despeja el indicador de final de fichero para el stream y deshace cualquier efecto producido por la función ungetc
en el mismo stream. Después de una llamada a fsetpos
, la siguiente operación en un stream de actualización que puede ser de entrada o salida.
Valor de retorno:
La función fsetpos
devuelve cero si es llevada a cabo con éxito. Si falla, la función devuelve un valor distinto de cero y guarda un valor positivo, según la definición de la implementación, en errno
.
Ejemplo:
Función ftell
long int ftell(FILE *stream);
La función fseek
obtiene el valor actual del indicador de posición de fichero para el stream apuntado por stream
. Para un stream binario, el valor es el número de caracteres desde el principio del fichero. Para un stream de texto, su
indicador de posición de fichero contiene información no especificado, sirve para la función fseek
para devolver el indicador de posición de fichero para el stream a su posición cuando se llamó a ftell
; la diferencia entre los dos valores de retorno no es necesariamente una medida real del número de caracteres escritos o leídos.
Valor de retorno:
La función ftell
devuelve el valor del indicador de posición de fichero para el stream, si se tiene éxito. Si falla, la función ftell
devuelve -1L
y guarda un valor positivo, según la definición de la implementación, en errno
.
Ejemplo:
Función fwrite
size_t fwrite(const void *puntero, size_t tamanyo, size_t nmemb, FILE *stream);
La función fwrite
envía, desde el array apuntado por puntero
, hasta nmemb
de elementos cuyo tamaño es especificado por tamanyo
, al stream apuntado por stream
. El indicador de posición de ficheros para el stream (si está definido) es avanzado por el número de caracteres escritos correctamente. Si existe un error, el valor resultante del indicador de posición de ficheros para el stream es indeterminado.
Valor de retorno:
La función fwrite
devuelve el número de caracteres escritos correctamente, el cual puede ser menor que nmemb
, pero sólo si se produce un error de escritura.
Ejemplo:
Función getc
int getc(FILE *stream);
Esta función es equivalente a fgetc
, excepto que si es implementado como una macro, puede evaluar los stream más de una vez – el argumento debería ser una expresión sin efectos secundarios.
Valor de retorno:
La función getc
devuelve el carácter siguiente desde el stream de entrada apuntado por stream
. Si el stream está en el final de fichero, el indicador del final de fichero para el stream es activado y getc
devuelve un EOF
. Si ocurre un error de lectura, el indicador de error para el stream es activado y getc
devuelve EOF
.
Ejemplo:
Función getchar
int getchar(void);
Esta función es equivalente a getc
con el argumento stdin.
Valor devuelto:
La función getchar
devuelve el carácter siguiente desde el stream de entrada apuntado por stream. Si el stream llega al final del fichero, el indicador del final de fichero para el stream se activa y getchar
devuelve EOF
. Si ocurre un error de lectura, se activa el indicador de error para el stream y getchar
devuelve EOF.
Ejemplo:
Función perror
int perror(char *cadena);
La función perror
transforma el número de error en una expresión entera de errno
a un mensaje de error. Escribe una secuencia de caracteres al stream estándar de errores, esto es: primero (si cadena no es un puntero nulo y el carácter apuntado por cadena no es el carácter nulo), la cadena apuntada por cadena seguido de dos puntos (:) y un espacio; mostrará un mensaje con los errores apropiados seguido por un carácter de línea nueva. El contenido de los mensajes de errores es el mismo que aquello retornado por la función strerror
con el argumento errno
, que están definidos según la implementación.
Valor de retorno:
La función perror no devuelve ningún valor.
Ejemplo:
Función printf
int printf(char *cadena, const char *formato, …);
Esta función es equivalente a fprintf
, con el argumento stdout
interpuesto antes de los argumentos de printf
.
Valor de retorno:
La función printf
devuelve el número de caracteres transmitidos, o un valor negativo si se produce un error de salida.
Ejemplo:
Función putc
int putc(int c, FILE *stream);
Esta función es equivalente a fputc
, excepto que si es implementado como una macro, puede evaluar stream
más de una vez – el argumento debería ser una expresión sin efectos secundarios.
Valor de retorno:
La función putc
devuelve el carácter escrito. Si ocurre un error de escritura, el indicador de error para el stream
es activado y putc
devuelve EOF
.
Ejemplo:
Función putchar
int putchar(int c);
Esta función es equivalente a putc
con el segundo argumento stdout
.
Valor de retorno:
La función putchar
devuelve el carácter escrito. Si ocurre un error de escritura, el indicador de error para el stream es activado y putchar
devuelve EOF
.
Ejemplo:
Función puts
int puts(const char *cadena);
Esta función escribe la cadena apuntada por cadena en el stream apuntado por stdout, y añade un carácter de línea nueva a la salida. No se escribe el carácter nulo al final.
Valor de retorno:
La función puts
devuelve EOF
si ocurre un error de escritura; si no, entonces devuelve un valor no negativo.
Ejemplo:
Función remove
int remove(const char *nombre);
El nombre del fichero apuntado por la cadena nombre ya no es accesible por ese nombre. Cualquier intento posterior a abrir el fichero usando ese nombre fallará, al menos que se cree de nuevo. Si el fichero está abierto el comportamiento de la función está definido según la implementación del compilador. Por esta razón se ha de cerrar antes de borrar.
Valor de retorno:
La función devuelve cero si la operación fue realizada con éxito. Si falla, entonces devolverá cualquier valor distinto de cero.
Ejemplo:
Función rename
int rename(const char *viejo, const char *nuevo);
El nombre del fichero apuntado como la cadena viejo será conocido como el nombre apuntado por la cadena nuevo. Cualquier intento posterior a abrir el fichero usando ese nombre fallará, al menos que se cree de nuevo. Si el fichero nombrado por como nuevo existe anteriormente a la llamada de la función rename
, el comportamiento de la función está definido según la implementación del compilador.
Valor de retorno:
La función devuelve cero si la operación se realiza con éxito. Si falla, entonces devuelve un valor cualquiera diferente de cero; en este caso el fichero sigue seguirá con el nombre viejo.
Ejemplo:
Función rewind
void rewind(FILE *stream);
La función rewind
coloca el indicador de posición de fichero para el stream apuntado por stream
al comienzo del fichero. Es equivalente a (void) fseek( stream, 0L, SEEK_SET)
excepto que el indicador de errores para el stream es despejado.
Valor de retorno:
La función rewind
no devuelve ningún valor.
Ejemplo:
Función scanf
int scanf(const char *formato, …);
Esta función es equivalente a fscanf
con el argumento stdin
intercalado antes de los argumentos a scanf
.
Valor de retorno:
La función scanf
devuelve el número de datos asignados en la entrada, este dato puede ser menor que el ofrecido, incluso cero, en el caso de un error de asignación. Si ocurre un error en la entrada antes de cualquier conversión, la función fscanf
devuelve el valor de la macro EOF
.
Ejemplo:
Función setbuf
void setbuf(FILE *stream, char *acumulador);
Esta función es equivalente a la función setvbuf
pasando los valores _IOFBF
para el modo y BUFSIZ
para el tamaño, o (si acumulador es un puntero nulo), con el valor _IONBF
para el modo.
stdout
y stdin
no son almacenados si no que son redirigidos; de lo contrario, seran completamente almacenados. «No Almacenados» quiere decir que los caracteres escritos a un stream
son inmediatamente transmitidos al fichero o dispostivo, mientras que «Almacenados» significa que los caracteres son acumulados y escritos como un bloque de información. La función setbuf
produce resultados impredecibles al menos que sea llamado después de abrir el stream
o después de llamar a fseek
. Si llamamos a setbuf
después del stream
este aún no habrá almacenado nada y no causará problemas.
Valor de retorno:
La función setbuf
no devuelve ningún valor.
Ejemplo:
Función setvbuf
int setvbuf(FILE *stream, char *acumulador, int modo, size_t tamanyo);
Esta función sólo puede ser usada después de que el stream apuntado por
ha sido asociado con un fichero abierto y antes de otra operación cualquiera se lleve acabo en el stream. El argumento stream
modo
determina cómo el stream será almacenado según lo siguiente: _IOFBF
genera la entrada/salida que se almacenara completamente; _IOLBF
genera la entrada/salida que se almacenara por cada línea; _IONBF
genera la entrada/salida que no será almacenada. Si el acumulador no es un puntero nulo, el array al que apunta puede ser usado en vez del acumulador adjudicado por la función setvbuf
. El argumento tamanyo
especifica el tamaño del array. El contenido del array en cualquier ocasión será indeterminado.
stdout
y stdin
no se almacenaran si no son redirigidos; de lo contrario, seran completamente almacenados. not stored (No Almacenados) quiere decir que los caracteres escritos a un stream son inmediatamente transmitidos al fichero o dispostivo, mientras que stored (Almacenados) significa que los caracteres son acumulados y escritos como un bloque de información en memoria.
Tabla con los tres valores de los modos:
Valor de retorno:
La función setvbuf
devuelve cero cuando tiene éxito, o cualquier valor diferente de cero, si un valor no válido es pasado como un modo o si la operación no se puede llevar a cabo.
Ejemplo:
Función sprintf
int sprintf(char *cadena, const char *formato, …);
Esta función es equivalente a fprintf
, excepto que el argumento cadena
especifica un array en el cual la salida generada será escrita, en vez de un stream. Un carácter nulo se escribe al final de los caracteres escritos; no cuenta como parte de la suma devuelta. El comportamiento acerca de la copia entre objetos que se superpongan no está definido.
Valor de retorno:
La función sprintf
devuelve el número de caracteres escritos en el array, sin contar el carácter nulo al final.
Ejemplo:
Función sscanf
int sscanf(const char *cadena, const char *formato,…);
Esta función es equivalente a fscanf, excepto que el argumento cadena especifica un array desde el cual se obtiene la entrada, en vez de un stream. El final de la cadena equivale a encontrar un final de fichero (EOF) en la función fscanf. El comportamiento de la copia entre objetos que se superpongan no está definido.
Valor de retorno:
Esta función devuelve el número de datos asignados en la entrada, que puede ser menor que el ofrecido, incluso cero, en el caso de un error de asignación. Si ocurre un error en la entrada antes de cualquier conversión, la función fscanf
devuelve el valor de la macro EOF
.
Ejemplo:
Función tmpfile
FILE *tmpfile(void);
Crea un fichero binario temporal que será borrado automáticamente cuando sea cerrado o al terminar el programa. Si el programa termina de forma anormal, el comportamiento de la función se definirá según la implementación del compilador; puede ser que el fichero sea borrado o no. El fichero es abierto con el modo «wb+».
Valor de retorno:
La función devuelve un puntero al fichero creado, cuando la operación sea realizada con éxito. Si el fichero no pudo ser creado, entonces la función devuelve un puntero nulo.
Ejemplo:
Función tmpnam
char *tmpnam(char *s);
Genera una cadena de caracteres con un nombre válido para los ficheros y que no es igual al nombre de un fichero existente. La función tmpnam genera una cadena diferente cada vez que es llamada, hasta un máximo de TMP_MAX veces. Si la función es llamada más veces que TMP_MAX, entonces el comportamiento de la función se define según la implementación del compilador.
Valor de retorno:
Si el argumento es un puntero nulo, la función tmpnam
deja el resultado en un objeto estático interno y devuelve un puntero a dicho objeto. Las llamadas posteriores a la función pueden modificar el mismo objeto. Si el argumento no es un puntero nulo, entonces asume que apunta a un array/arreglo de al menos L_tmpnam caracteres; la función tmpnam
escribe el resultado en el array/arreglo y devuelve el argumento como su valor.
Ejemplo:
Función ungetc
int ungetc(char c, FILE *stream);
Esta función envía el carácter especificado por c (convertido en unsigned char) en el stream de entrada apuntado por stream. Los caracteres apilados serán devueltos tras la lecturas del stream en orden inverso al que fueron
apilados. Una correcta llamada con capacidad para intervenir (con el stream apuntado por stream) en una función de posicionamiento de fichero (fseek
, fsetpos
, o rewind
) descarta cualquier carácter apilado para el stream. El almacenamiento externo correspondiente al stream no varía.
Se garantiza un carácter apilado. Si la función ungetc
es llamada demasiadas veces al mismo stream sin ninguna lectura para intervenir o una operación de posicionamiento de fichero en ese stream, entonces la operación falla. Si el valor de c es igual a la macro EOF
, la operación falla y el stream de entrada no varía.
Una llamada con exito a la función ungetc liberaliza el indicador de final de fichero para el stream. El valor del indicador de posición de los ficheros para el stream después de leer o descartar todos los caracteres apilados será el mismo que era antes de que los caracteres fueran apilados. Para un stream de texto, el valor de su indicador de posición de ficheros después de una llamada con éxito a la función ungetc
no es especificado hasta que todos los caracteres apilados sean leídos o descartados. Para un stream binario, el valor de su indicador de posición de ficheros es determinado por cada llamada con éxito a la función ungetc
; si su valor era cero antes de la llamada, resultará dudoso después de la llamada.
Valor de retorno:
La función ungetc
devuelve el carácter apilado trás la conversión. Si la operación falla, entonces devuelve EOF
.
Ejemplo:
Función vfprintf
int vfprintf(FILE *stream, const char *formato, va_list argumentos);
Esta función es equivalente a fprintf
, con la lista de argumentos de variables reemplazado por argumentos, que se inicializa desde la macro va_start
(y posiblemente) por llamadas posteriores a va_arg
. La función vfprintf
no invoca a la macro va_end
.
Valor de retorno:
La función vfprintf
devuelve el número de caracteres transmitidos, o un valor negativo si se produce un error de salida.
Ejemplo:
Función vprintf
int vprintf(const char *formato, va_list argumentos);
Esta función es equivalente a printf
, con la lista de argumentos de variables reemplazado por argumentos, que habrá sido inicializado por la macro va_start (y posiblemente) por llamadas posteriores a va_arg. La función vprintf
no invoca a la macro va_end.
Valor de retorno:
La función devuelve el número de caracteres transmitidos, o un valor negativo si encuentra un error en la salida.
Ejemplo:
Función vsprintf
int vsprintf(char *cadena, const char *formato, va_list argumentos);
Esta función es equivalente a sprintf
, con la lista de argumentos de variables reemplazado por argumentos, que ha sido inicializado por la macro va_start (y posiblemente) por llamadas posteriores a va_arg. La función vsprintf
no invoca a la macro va_end. Si se copian objetos que se superponen, no está definido su comportamiento.
Valor de retorno:
La función vsprintf
devuelve el número de caracteres escritos en el array, sin contar el carácter nulo del final.
Ejemplo:
Debe estar conectado para enviar un comentario.