-2
新的数组我有以下文件(Customers.txt移动):读取文件内容,存储在阵列中,多个内容添加到阵列中,然后存储在文件C++
1 esra doha 017987
2 abdulla wakra 023456
问题:采取新的客户来自用户的信息并将其存储在文件中,而不删除旧记录。
我需要阅读前面的内容,并将它们存储在相应的阵列中,这是我也使用这种方法:
void readFile()
{
ifstream infile;
infile.open("D:\\customers.txt");
for(int i = 0; infile; i++)
{
infile >> ID[i] >> names[i] >> addresses[i]>>tn[i];
infile.peek();
numC++;
}
infile.close();
}
(NUMC是客户的数量,初始设定为0)
然后,我需要添加一个新客户。我做了如下:
void add()
{
for(int i=numC; i<100;i++)
{
cout<<"Enter your ID (or -1 to quit)"<<endl;
cin>>ID[i];
if(ID[i]!=-1)
{
cout<<"enter your name"<<endl;
cin>>names[i];
cout<<"enter your address"<<endl;
cin>>addresses[i];
cout<<"enter your telephone number"<<endl;
cin>>tn[i];
}
else
break;
}
saveFile();
}
saveFile()用于添加新用户后在文件中存储数组。那就是:
void saveFile()
{
ofstream outfile;
outfile.open("D:\\customers.txt");
for(int i=0; i<numC; i++)
outfile << ID[i] << "\t" << names[i]<< "\t"<<addresses[i]<< "\t"<<tn[i]<<endl;
outfile.close();
}
我不知道在哪里的问题是,无论是在加()或保存(),但是,运行该程序后,这些内容:
1 esra doha 017987
2 abdulla wakra 023456
0 0 0 0
为什么这是否发生?我如何解决它以存储用户?