And*_*v93 5 c c++ file-io fwrite fread
我正在编写一个简单的程序,写入二进制文件,关闭它,然后读取刚刚写入的数据.我正在尝试编写一个无符号字符数组.我在阅读数据时遇到了一些问题.我不确定我是在写不正确的数据还是读错了.当我读取数据时,我得到的输出为:5 bytes对于读取的字节数,但我得到的输出与我写入文件的值不同.
FILE *binFile = fopen("sample","wb");
unsigned char data[5]={5,10,15,20,25};
fwrite(data,sizeof(unsigned char),sizeof(data),binFile);
fclose(binFile);
unsigned char data2[5];
binFile = fopen("sample","rb");
int s = fread(data2,1,sizeof(data),binFile);
fclose(binFile);
cout<<s<<" bytes\n";
for(int i=0; i<5;i++)
cout<<data2[i]<<" ";
cout<<"\n";
Run Code Online (Sandbox Code Playgroud)
您作为输出看到的是元素的ASCII字符 array
Typecast unsigned char到int
这将给出预期的输出.
for(int i=0; i<5;i++)
cout<<(int)data2[i]<<" ";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5937 次 |
| 最近记录: |