C语言文件操作大全攻略
为什么要学习文件操作?
在计算机编程中,我们经常需要读取和写入文件。使用C语言进行文件操作可以实现将数据从磁盘读取到内存中,或将数据从内存写回磁盘中。因此,学习文件操作对于进行数据管理和数据处理非常必要。
文件的打开和关闭
在使用C语言进行文件操作之前,需要先打开文件。可以使用fopen()
函数打开文件,如下所示:
FILE *fp;
fp = fopen("filename", "mode");
其中, filename
是要打开的文件名,mode
是以哪种方式打开文件,如:
- "r":只读方式打开文件
- "w":写方式创建新文件或清空已有文件
- "a":以写方式打开文件并在文件末尾添加新内容
当文件不再使用时,需要使用fclose()
函数关闭文件。如下所示:
fclose(fp);
从文件读取内容
在打开文件后,我们可以使用fscanf()
函数读取文件中的内容。该函数以与scanf()
相同的方式读取文件中的数据。示例如下:
FILE *fp;
int num;
fp = fopen("input.txt", "r");
fscanf(fp, "%d", &num);
fclose(fp);
在此示例中,从input.txt
文件中读取一个整数,并将其存储在变量num
中。
将数据写入文件
除了从文件中读取内容外,我们还可以使用fprintf()
函数将数据写入文件。该函数与printf()
函数的用法相同。示例如下:
FILE *fp;
int num = 10;
fp = fopen("output.txt", "w");
fprintf(fp, "%d", num);
fclose(fp);
在此示例中,将变量num
的值写入到名为output.txt
的文件中。
示例:将文件中的数据复制到另一个文件中
接下来,我们来看一个将文件中的数据复制到另一个文件中的示例。
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char c;
fp1 = fopen("input.txt", "r");
if (fp1 == NULL) {
printf("Cannot open file \n");
return 0;
}
fp2 = fopen("output.txt", "w");
while ((c = fgetc(fp1)) != EOF)
fputc(c, fp2);
fclose(fp1);
fclose(fp2);
printf("File copied successfully.\n");
return 0;
}
在此示例中,我们以只读模式打开名为input.txt
的文件,并以写模式打开名为output.txt
的文件。然后,我们使用fgetc()
函数将文件中的数据逐个读入,并使用fputc()
函数将其逐个写入到output.txt
文件中。最后,我们关闭文件,并在控制台打印出复制文件的成功信息。
示例:统计文件中的字符数
下面是一个统计文件中字符数的示例:
#include <stdio.h>
int main() {
FILE *fp;
char filename[100];
char ch;
int count = 0;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Cannot open file \n");
return 0;
}
while ((ch = fgetc(fp)) != EOF)
count++;
fclose(fp);
printf("The number of characters present in file is: %d\n", count);
return 0;
}
在此示例中,我们先让用户输入一个文件名,然后以只读方式打开该文件,并使用fgetc()
函数逐个读取文件中的字符。最后,我们统计文件中总共有多少个字符,并输出到控制台中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言文件操作大全 - Python技术站