我的代码接受一个字符串,将其写入.dat
文件,然后从.dat
文件中读取它并将其发布到控制台中。
我的问题是,我所知道的.dat
应该被编码,我不能简单地打开它,看看那里有什么。但是当我用记事本打开d.at
文件时,它的行为与.txt
文件相同,我可以看到所有文件。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *f;
char s[100],g[100];
if((f=fopen("text.dat","wb"))==NULL)
{
exit(1);
}
printf("write text: "); gets(s);
int n=strlen(s);
fwrite(s,sizeof(s[0]),n,f);
fclose (f);
if((f=fopen("text.dat","rb"))==NULL)
{
exit(1);
}
fread(g,sizeof(g[0]),strlen(s),f);
puts(g);
return 0;
}
答案 0 :(得分:2)
您的.dat文件没有任何问题。
我的问题是我所知道的.dat应该被编码
编码是什么意思?将文件扩展名从.txt更改为.dat并没有任何区别,实际上它只是重命名它。 Microsoft Windows或任何其他操作系统默认情况下可能会打开特定程序的特定文件类型,但这并不意味着您无法使用您选择的程序。 在这种情况下,记事本只会读取文件内容,这些内容是您从键盘读取并写入其中的字符,没有任何&#34;编码&#34; (当然,除ASCII编码外)。