El lenguaje C copia un archivo.

Hoy aprendí a copiar un archivo usando lenguaje C, copiando un archivo carácter por carácter, me gustaría grabarlo aquí.

#include<stdio.h>


int main()
{
	FILE * pfr = fopen("1.txt", "r");  //打开文件1.txt 用读的模式
	if (pfr == NULL)
	{
		return 1;
	}
	FILE* pfw = fopen("2.txt", "w");   //打开文件2.txt 用写的模式
	if (pfw == NULL)
	{                           // 如果2.txt打开失败,就把1.txt的文件关闭,指针赋空值
		fclose(pfr);    
		pfr = NULL;
		return 0;
	}
	char ch = 0;
	while ((ch = fgetc(pfr)) != EOF)     // 循环读取1.txt的指针内容,只要不是EOF文件结束 ,就一直读
	{
		fputc(ch, pfw);                  // 把读到的内容写到2.txt中。
	}

	fclose(pfr);             //关闭文件1
	pfr = NULL;                 //指针赋空值
	fclose(pfw);             //关闭文件2
	pfw = NULL;                 //指针赋空值
}

Esto copia todo el contenido del archivo 1 al archivo 2.

1. función fprintf ()

//int main()
//{ // struct ss = { "¡Hola a todos!", 999, 3.1405926 }; // ARCHIVO* pf = fopen("1.txt", "w"); // if (pf == NULL) // { // perror("¡Error al abrir el archivo!"); // return 1; // } //  // // fprintf se formatea como salida en la secuencia especificada, o se puede especificar en stdio a la pantalla // fprintf(pf, "%s %d %f", s.arr, sa, sb);    // fclose(pf); // pf = NULL; //}












2. función fscanf()

/int main()
//{ // struct ss; // ARCHIVO* pf = fopen("1.txt", "r"); // if (pf == NULL) // { // perror("open ¡El archivo falló!"); // return 1; // } //  // // fscanf obtiene datos de la secuencia especificada // fscanf(pf, "%s %d %f", s.arr, &(sa) , &(sb)); // // printf("%s %d %f", s.arr, sa, sb); // fclose(pf); // pf = NULL; //     // devuelve 0 ; //}
















3、fwrite()

//int main()
//{ // struct S s = { "¡Hola a todos!", 999, 3.1415962f }; // ARCHIVO* pf = fopen("1.txt", "w"); // if (NULL != pf) // { // // fwrite() escribe en forma binaria // fwrite(&s, sizeof(struct S), 1, pf); // fclose(pf); // pf = NULL; // } // // devuelve 0; //}











4、miedo()

/int main()
//{ // struct S s = { 0 }; // ARCHIVO* pf = fopen("1.txt", "r"); // if (NULL != pf) // { / // fread() lee en binario // fread(&s, sizeof(struct S), 1, pf); // fclose(pf); // pf = NULL; // } // printf("%s %d %f", s.arr, sa, sb); // devuelve 0; //}











5. fseek(pf, -1, SEEK_CUR); // Redefinir la posición del puntero del archivo

6. printf("El desplazamiento de la dirección actual desde la posición inicial del archivo: %d\n", ftell(pf));

7. rebobinar (pf); devuelve el puntero del archivo a la posición inicial  

8、scanf/fscanf/sscanf

Supongo que te gusta

Origin blog.csdn.net/xingyuncao520025/article/details/132594534
Recomendado
Clasificación