#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
ofstream f;
f.open("hello.dat",ios::out|ios::binary);
ifstream ff;
ff.open("hello.dat",ios::binary|ios::in);
char t[7]="Thank!";
char* v = new char[7];
f.seekp(ios::beg,ios::cur);
ff.seekg(ios::beg,ios::cur);
f.write(t,7);
ff.read(v,7);
for(int i=0;i<7;i++)
{
printf("%c",v[i]);
}
cout<<endl;
for(int i=0;i<7;i++)
{
printf("%c",t[i]);
}
cout<<endl;
cout<<strcmp(t,v)<<endl;
f.close();
ff.close();
return 0;
}
能够写入文件中,但读出的数据为0(以字符形式输出);当以%02X输出时,数组 t 与 v 输出的二进制对应十六进制也不同。
请各位帮忙看看出了什么bug