Realice la copia de archivos con la función de operación de archivos

  int nread=0;
   char buff[100];

   while(1)
     {
    
    
        memset(buff,0,sizeof(buff));
        if((nread=fread(buff,1,100,srcfp))==0)  break;

        fwrite(buff,1,nread,dstfp);
     }

  1. Al principio, el programa que escribí yo mismo no estaba definido

int nread;

  Originalmente planeé leer 100 bytes del archivo de origen y escribir 100 bytes en el archivo de destino, pero esto es incorrecto. Si los datos leídos del archivo de origen no tienen 100 bytes, entonces escribo 100 bytes en El archivo de destino puede ser incorrecto.
Entonces, cuánto se debe leer y cuánto se debe escribir. En este momento, se utiliza un nread de contador.

  2. char buff[100];
¿Se puede cambiar a otros tipos de datos, como

int buff[100];

  Esto es posible, porque esto es para solicitar una parte de la memoria y luego poner el bloque de datos de lectura en esta memoria. En otras palabras, el bloque de datos leído es una cadena de 0110 (una cadena de números binarios), que puede ser de tipo entero o de carácter.
  Además, la esencia de definir el tipo de variable es solicitar una porción de espacio de la memoria y poner los datos leídos en la memoria aplicada, no hay diferencia.

  3. Reflexiones sobre la diferencia entre los dos métodos de lectura y escritura

  3.1 Las funciones fread y fwrite
  leen y escriben el contenido del archivo en forma binaria

  3.2 fprintf y fgets
  leen y escriben el ASCII correspondiente al contenido del archivo.

  De hecho, no hay archivos de texto o archivos binarios. Para las computadoras, son todos una serie de números binarios como 0110. Es solo en lo que se almacenan los archivos binarios. Es el número binario correspondiente a los datos leídos y escritos, y el número binario correspondiente a ASCII.
  Si usa las funciones fgets y fprintf para leer y escribir, entonces el búfer de archivo es el número binario correspondiente al ASCII correspondiente a los datos de lectura y escritura.
  Si usa las funciones fwrite y fread para leer y escribir, es el número binario correspondiente a los datos leídos y escritos.

Supongo que te gusta

Origin blog.csdn.net/qq_43403759/article/details/113102576
Recomendado
Clasificación