什么是文本文件,什么是二进制文件,怎么打开关闭文件
时间: 2023-04-07 07:04:23 浏览: 166
文本文件是由字符组成的文件,可以使用文本编辑器打开和编辑,例如记事本、Sublime Text等。而二进制文件是由计算机语言编写的文件,不能直接使用文本编辑器打开和编辑,需要使用特定的软件或工具进行打开和编辑,例如图片、音频、视频等文件。要打开文件,可以使用文件操作函数,例如fopen()函数,关闭文件可以使用fclose()函数。
相关问题
C语言将一个文本文件拷贝成二进制文件
以下是将文本文件拷贝成二进制文件的C语言代码示例:
```c
#include <stdio.h>
int main() {
FILE *inputFile, *outputFile;
char ch;
inputFile = fopen("textfile.txt", "r");
outputFile = fopen("binaryfile.bin", "wb");
if (inputFile == NULL || outputFile == NULL) {
printf("Error opening file\n");
return 1;
}
while ((ch = getc(inputFile)) != EOF) {
putc(ch, outputFile);
}
fclose(inputFile);
fclose(outputFile);
return 0;
}
```
解释:
1. 首先,我们打开一个文本文件 `textfile.txt` 和一个二进制文件 `binaryfile.bin` 用于读取和写入数据。
2. 我们检查文件是否成功打开,如果有任何一个文件无法打开,就会出现错误。
3. 接下来,我们使用 `getc` 函数逐个读取文本文件的字符,并使用 `putc` 函数将字符写入二进制文件中。
4. 最后,我们关闭两个文件,释放资源。
这个程序可以将文本文件的内容复制到二进制文件中。但需要注意的是,二进制文件中的数据是以字节为单位存储的,因此不能直接用文本编辑器打开查看。
c语言读入文本文件以二进制存入新文件
您可以使用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`变量来存储从输入文件中实际读取到的字节数,以确保我们只将读取到的数据写入到输出文件中。