请教一段c++程序

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:07:10
程序前段打开存有联系人数据的文件,方便后面程序对文件内容进行删除操作,我是新手,对string还不是很会,看不懂 while (inData >>name >>number)及其之后的内容,其功能应该是用sign从键盘获得name或者numble都可以对文件中的联系人进行查找,并进行删除操作
请大家指点下。。。。

void book::del_person() //删除联系人
{
ofstream outData("temp.txt", ios::out);
ifstream inData("pbook.txt", ios::in); //
if (!outData || !inData)
{
cout <<endl <<"对不起!!!!找不到文件!!!!" <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"你要删除输入姓名或电话号 :";
cin >>sign;
string str1;
bool flag = true;
string str;

while (inData >>name >>number)
{
getline(inData, str);

if ((sign==name) || (sign==number))
{
cout <<endl <<"你想删除的联系人:" <<endl &l

它是将pbook.txt中的内容一行一行的读到str里,判断是否匹配输入的姓名或号码,如果不匹配,就将此行写到临时文件temp.txt中。那么pbook.txt读完之后,temp.txt中存放的肯定是不包含要删除的联系人的。然后将temp.txt中的内容一行一行写回pbook.txt中,即实现了删除功能

ifstream inData("pbook.txt", ios::in);
文件作为输入流了
这里就可以将 inData 等价看成 cin 了,但是不需要手动输入,输入流为pbook.txt