这里为什么会输出两次啊?
#include <iostream>#include <fstream>
#include <Cstdlib>
#include <string>
using namespace std;
typedef struct information
{
string name;
string pnumber;
}IF;
int main()
{
system("color 3F");
IF p;
p.name="叶行建";
p.pnumber="17671860463";
ofstream ofile("f:\\Addresslist1.txt");
ofile.write((char *)&p, sizeof(IF));
ofile.close();
IF q;
ifstream file("f:\\Addresslist1.txt");
while(!file.eof())
{
file.read((char *)&q, sizeof(IF));
cout<<q.name<<endl;
cout<<q.pnumber<<endl;
}
file.close();
return 0;
}
这里的信息会输出两次!为什么啊?
当读到最后一个字符时,程序会多读一次(编译器会让指针停留在最后一个字符那里,然后重复读取一次)
参考:
https://www.cnblogs.com/kaituo/p/5021673.html BngThea 发表于 2018-4-8 11:43
当读到最后一个字符时,程序会多读一次(编译器会让指针停留在最后一个字符那里,然后重复读取一次)
参 ...
谢谢!
页:
[1]