c语言读入文本文件以二进制存入新文件
时间: 2024-01-12 13:05:12 浏览: 92
您可以使用C语言中的标准库函数`fopen()`、`fread()`、`fwrite()`和`fclose()`来读入文本文件并将其以二进制形式存储到新文件中。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char buffer[1024];
size_t nread;
fp1 = fopen("input.txt", "r"); // 打开输入文件
fp2 = fopen("output.bin", "wb"); // 打开输出文件
while ((nread = fread(buffer, 1, sizeof(buffer), fp1)) > 0) {
fwrite(buffer, 1, nread, fp2); // 将读取到的数据以二进制形式写入输出文件
}
fclose(fp1); // 关闭输入文件
fclose(fp2); // 关闭输出文件
return 0;
}
```
在这个代码中,我们首先使用`fopen()`函数打开输入文件`input.txt`和输出文件`output.bin`,并指定打开模式为`r`和`wb`,分别表示以只读模式打开输入文件和以二进制写入模式打开输出文件。然后,我们使用`fread()`函数从输入文件中读取数据,并将其存储到缓冲区中。接着,我们使用`fwrite()`函数将缓冲区中的数据以二进制形式写入输出文件。最后,我们使用`fclose()`函数关闭输入文件和输出文件。
注意,在这个示例代码中,我们使用了一个`buffer`数组来存储从输入文件中读取到的数据。`buffer`数组的大小可以根据需要进行调整。此外,我们还使用了一个`nread`变量来存储从输入文件中实际读取到的字节数,以确保我们只将读取到的数据写入到输出文件中。
阅读全文