Archivos temporales en C
tmpfile te da un stream que se borra solo cuando se cierra.
#include <stdio.h>
int roundtrip(void) {
FILE *f = tmpfile();
if (f == NULL) {
return 0;
}
fprintf(f, "42 rust\n");
rewind(f);
int number = 0;
char word[16];
int matched = fscanf(f, "%d %15s", &number, word);
fclose(f);
return matched == 2 && number == 42;
}
Cómo funciona
- No hay nombre que limpiar después.
- Abre en modo binario de actualización: puedes escribir y luego leer.
rewindantes de leer de vuelta lo que acabas de escribir.
Palabras clave y builtins usados aquí
FILENULLcharifintreturnvoid
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 260
- Tokens
- 90
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 54 segundos.
Paso 4 de 4 en Escritura y binario; paso 8 de 12 en Archivos y E/S.