Mi

  
bajo unix  

Copie un archivo de texto grande con el contenido del archivo que usted mismo preparó. La solicitud es de texto, 10M o más.

(Puede escribir un fragmento de texto, luego el gato agrega repetidamente el texto expandido)

Forma del programa: comando de entrada y parámetro $ my_copy from_name to_name bufsize (número)

Dependiendo de la Las estadísticas bufsize, el tiempo de ejecución de my_copy, dan los resultados del análisis y analizan las razones.

Al ejecutar my_copy, debe recopilar de forma sincrónica la salida de vmstat 1 y redirigirla a log.txt.

bufsize: 1 3264 1282565121024

Sugerencia: Este programa no se puede desarrollar con Windows.

#include < stdio.h > #include < sys /types.h > #include < sys /stat.h > #include < fcntl.h > #include < sys /time. h > #include < unistd.h >

void tv_sub (struct timeval * end, struct timeval * begin) //calcula la diferencia de tiempo y almacena el resultado en el final {if ((end- > tv_usec- = Begin- > tv_usec) < 0) {- end- > tv_sec; end- > tv_usec + = 1000000;} end- > tv_sec - = begin- > tv_sec;)

int Main (int argc, char * argv []) {typedef struct timeval TIME; TIME start, end; gettimeofday (&begin, NULL);

int f_read, f_write, num; const int BUFSIZE = atoi ( Argv [3]); char buf [BUFSIZE];

if (argc! = 4) {printf (" uso: my_read filename1 filename2 bufsize \\ n "); exit (1);}

if ((f_read = open (argv [1], O_RDONLY)) < 0) {printf (" no puede abrir el archivo% s \\ n ", argv [1]); exit (1);}

if ((f_write = open (argv [2], O_WRONLY

Copyright © Conocimiento de Windows All Rights Reserved