C语言讲一个文本文件拷贝为二进制文件
时间: 2024-05-03 12:21:37 浏览: 89
首先,我们需要打开文本文件和二进制文件,使用fopen函数可以打开文件,并指定打开方式:
```c
FILE *fp_txt = fopen("text.txt", "r");
FILE *fp_bin = fopen("binary.bin", "wb");
```
这里,我们用“r”打开文本文件,用“wb”打开二进制文件。接下来,我们需要读取文本文件中的内容,并将其写入二进制文件中。我们可以使用fread和fwrite函数来完成这个操作:
```c
char buffer[1024];
size_t size;
while ((size = fread(buffer, sizeof(char), sizeof(buffer), fp_txt)) > 0) {
fwrite(buffer, sizeof(char), size, fp_bin);
}
```
这里,我们定义了一个大小为1024的缓冲区,使用fread函数从文本文件中读取数据,并将其写入缓冲区中,然后使用fwrite函数将缓冲区中的数据写入二进制文件中。这个操作会一直进行,直到文本文件中的所有内容都被读取并写入二进制文件中。
最后,我们需要关闭打开的文件:
```c
fclose(fp_txt);
fclose(fp_bin);
```
完整代码如下:
```c
#include <stdio.h>
int main() {
FILE *fp_txt = fopen("text.txt", "r");
FILE *fp_bin = fopen("binary.bin", "wb");
char buffer[1024];
size_t size;
while ((size = fread(buffer, sizeof(char), sizeof(buffer), fp_txt)) > 0) {
fwrite(buffer, sizeof(char), size, fp_bin);
}
fclose(fp_txt);
fclose(fp_bin);
return 0;
}
```
阅读全文