fp = fopen(filename, "r");和fp = fopen(filename, "w");的区别举例
时间: 2023-07-21 13:15:17 浏览: 157
`fp = fopen(filename, "r");` 打开文件用于读取。
例如,如果有一个名为 `data.txt` 的文本文件,它包含一些数据,可以使用以下代码读取文件:
```c
FILE* fp = fopen("data.txt", "r");
if (fp == NULL) {
fprintf(stderr, "Error opening file\n");
exit(1);
}
int num;
fscanf(fp, "%d", &num);
printf("Read number %d from file\n", num);
fclose(fp);
```
这个代码片段会打开一个名为 `data.txt` 的文件,然后读取文件中的一个整数。如果文件无法打开,会输出错误信息并退出程序。
`fp = fopen(filename, "w");` 打开文件用于写入。
例如,可以使用以下代码向一个名为 `output.txt` 的文本文件写入一些数据:
```c
FILE* fp = fopen("output.txt", "w");
if (fp == NULL) {
fprintf(stderr, "Error opening file\n");
exit(1);
}
fprintf(fp, "Hello, world!\n");
fprintf(fp, "The answer is %d\n", 42);
fclose(fp);
```
这个代码片段会打开一个名为 `output.txt` 的文件,然后向文件中写入两行数据。如果文件无法打开,会输出错误信息并退出程序。
需要注意的是,如果文件已经存在,`fopen(filename, "w");` 会清空文件中的所有内容并写入新的数据。如果不想清空文件,可以使用 `fopen(filename, "a");` 打开文件以追加数据。
阅读全文