读书人

关于c++读写二进制文件的有关问题

发布时间: 2012-04-23 13:17:38 作者: rapoo

关于c++读写二进制文件的问题

C/C++ code
int main(){    unsigned int num[20];    fstream file1;    file1.open("1.bin",ios::in);    for(int i=0;;i++)//////////////////////////这里应该怎么写判断,才能在读取完文件后自动跳出?    {        file1.read((char*)&num[i],sizeof(unsigned int));        file1.seekg(4);        if(file1.tellp()==ios::end)break;//////////////////这个判断是错误的    }    cout << num[1] <<endl;    return 0;}


另外我想用vector来存读入的数
for循环应该怎么写?(不是全部读入vector中,是读一个数、跳一个数)
C/C++ code
void ReadFile(){    fstream file1;    file1.open("TotalPhenotype.bin",ios::in);    vetcor<unsignet int>num;    for(int i=0;;i++)//////////////怎么判断读完    {        file1.read((char*)???,sizeof(unsigned int));/////问号那里怎么写?        file1.seekg(4);    }    cout << num[1] <<endl;}




[解决办法]
void ReadFile()
{
fstream file1;
file1.open("TotalPhenotype.bin",ios::in);
vetcor<unsignet int>num(1024);//分配空间
for(int i=0;!file1.eof();i++)//////////////怎么判断读完
{
file1.read((char*)&num[i],sizeof(unsigned int));/////问号那里怎么写?
file1.seekg(4);
}
cout << num[1] <<endl;
}

读书人网 >C++

热点推荐