读书人

关于文件流操作的低级有关问题

发布时间: 2012-03-22 17:43:57 作者: rapoo

关于文件流操作的低级问题
使用fstream进行流操作。把模式设为ios::binary还是吧int,double等类型的变量输出成文本。比如int型值为5的变量就在输出文件中输出一个字符5。我希望int型在文件是4字节的二进制表示,使用流操作,应该如何做?如果流操作不行,那应该用什么函数?

[解决办法]
按理说,只要设置模式为binary就行了吧

[解决办法]
binary 就行了啊。如果是字符文件的话,输出的是ascii码
[解决办法]
输出操作符<< 和 输入操作符 >> 是按字节进行操作的,每个字节存储的是每个字符的ASCII码,想进行整数4个字节的读取,使用格式化函数,fscanf("%d",&a); 然而如果想使用格式化的方法进行从文本文件读取,那么文本文件中的数据也必须是用格式化的方式进行写入文件的,

比如:
想读取文本文件中的整型变量 int n = 9;那么文本文件就必须以整型的方式进行存储,

先进行存储整型n:
int n = 9;
FILE *fp=fopen("abc.txt","w");
fprintf("%4d",n)
close(fp);

再进行读取n,放到m中:
int m = 0;
FILE *fp=fopen("abc.txt","r");
fscanf("%d",&m);
close(fp);
printf("%d",m);

读书人网 >C++

热点推荐