Inspeccionar un archivo en C
stat llena un struct con tamaño, modo y marcas de tiempo.
#include <stdio.h>
#include <sys/stat.h>
int describe(const char *path) {
struct stat info;
if (stat(path, &info) != 0) {
perror("stat");
return 0;
}
printf("%s: %lld bytes, mode %o\n", path, (long long) info.st_size,
(unsigned) (info.st_mode & 0777));
printf("directory: %d, regular: %d\n", S_ISDIR(info.st_mode) != 0,
S_ISREG(info.st_mode) != 0);
return 1;
}
Cómo funciona
S_ISDIRyS_ISREGleen los bits de modo.st_sizeson bytes;st_mtimees la hora de modificación.- Un retorno de -1 significa que la ruta no pudo examinarse.
Palabras clave y builtins usados aquí
charconstifintlongreturnstructunsigned
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 362
- Tokens
- 105
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 60 segundos.
Paso 1 de 2 en Archivos y directorios; paso 11 de 14 en Programación de sistemas.