c语言中可以从一个文件读数据同时向另一个文件写数据嘛
时间: 2024-10-14 15:18:09 浏览: 17
C语言从txt文件中逐行读入数据存到数组中的实现方法
在 C 语言中,确实可以同时从一个文件读取数据并将其写入另一个文件。这通常通过 `stdio` 模块提供的功能来实现,例如 `fopen`, `fread`, `fwrite`, 和 `fclose` 函数。
当你需要从一个源文件(`source_file`)读取数据,并将这些数据写入目标文件(`target_file`)时,可以采用以下步骤:
```c
#include <stdio.h>
int main() {
FILE *input = fopen("source_file.txt", "r");
FILE *output = fopen("target_file.txt", "w");
// 检查打开文件是否成功
if (input == NULL || output == NULL) {
perror("Failed to open file(s)");
return 1;
}
char buffer[BUFSIZ]; // 定义缓冲区用于存储读取的数据
size_t bytesRead;
while ((bytesRead = fread(buffer, sizeof(char), BUFSIZ, input)) > 0) {
fwrite(buffer, sizeof(char), bytesRead, output); // 写入到目标文件
}
fclose(input);
fclose(output);
return 0;
}
```
在这个例子中,我们首先打开两个文件,然后在循环中读取输入文件的内容,直到文件结束。每次读取的内容都被写入到输出文件。最后别忘了关闭文件以释放资源。
阅读全文