Red de conocimiento informático - Material del sitio web - En un sistema Unix, utilice un programa en lenguaje C para obtener la fecha de un archivo en un directorio específico. ¡El programa está completo y debe tener una puntuación alta!

En un sistema Unix, utilice un programa en lenguaje C para obtener la fecha de un archivo en un directorio específico. ¡El programa está completo y debe tener una puntuación alta!

No es necesario programar en lenguaje C, simplemente ejecute el comando:

ls -l para ver la fecha del archivo y luego use la redirección para generar un archivo de texto resultante

Por ejemplo, en el directorio actual Siguiente:

#ls -l > filedate.txt

Entonces el contenido de filedate es

-rx-r-- r-- root 196 2010-05 -10 10:12 found.txt

-rx-r--r-- root 124 2010-05-15 19:36 hola.

#ls -l hello.cpp >filedate.txt

De esta manera, el contenido final del archivo tiene solo una línea:

-rx-r--r-- root root 124 2010-05-15 19:36 hola. cpp

Si insistes en escribir un programa, puedes escribirlo así:

1. Usa bash para editar directamente un archivo (como mylsdate). ) con el siguiente contenido:

ls -l $1 > $2

Guarde el archivo y luego use el comando chmod +x mylsdate para convertir el archivo en un script ejecutable

Cuando se usa, el contenido es el siguiente:

./mylsdate xh.cpp filedate.txt

Entonces el contenido de filedate.txt se convertirá en

-rx-r--r--root root 124 2010-05-15 19:36 hola .cpp

2. Utilice el programa de edición en lenguaje C mylsdate.c

#include

#include

#include

3.h>

int main(int argc, char * argv[])

{

char cmd[ 80];

if (argc < 3) {

printf("uso: %s [archivo] [archivo de fecha]\n", argv[0]);

devuelve 0;

}

sprintf(cmd, "ls -l %s > %s\n", argv[ 1], argv[2]);

system(cmd);

return 0;

}

Luego use g++ - o mylsdate mylsdate.c compila exactamente con el mismo resultado. c compilado, el resultado es exactamente el mismo que el script bash anterior

Siempre y cuando no te importe el problema

Siempre y cuando no te importe el problema

p>