请教一段C++程序

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:10:06
name,number,atime均为book类的成员,pbook装有相应数据,这是个查找数据的函数,请教高手它是如何运行的,尤其是
while (inData >>name >>number>>atime)
getline(inData, str);
这两句。

void book::select()
{
ifstream inData("pbook.txt",ios::in);

if (!inData)
{
cout <<endl <<"对不起,文件找不到" <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"输入你想查找的联系人的姓名或电话号码 : ";
cin >>sign;
fflush(stdin);
string str;
while (inData >>name >>number>>atime)
{
getline(inData, str);

if ((name==sign) || (number==sign))
{
cout <<endl <<"你要查找的联系人是 : " <<endl <<endl;
cout <<setiosflags(ios::left) <<setw(17) <<name&l

void book::select()
{
ifstream inData("pbook.txt",ios::in);
//这里定义一个文件流变量,并初始化

if (!inData) //判断是否打开成功
{
cout <<endl <<"对不起,文件找不到" <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"输入你想查找的联系人的姓名或电话号码 : ";
cin >>sign;
fflush(stdin);
//清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件
string str;
while (inData >>name >>number>>atime)
/*这句就是连续从文件中读入数据,因为ifstream类型的变量调用>>时,返回的也是ifstream类型,所以可以连续调用,具体可参看源文件*/
{
getline(inData, str);
/* getline函数是连续读取数据,直到遇到\n为止,并赋给第二个参数,也就是这里的str */
if ((name==sign) || (number==sign))
{
cout <<endl <<"你要查找的联系人是 : " <<endl <<endl;
cout <<