0
我想阅读以下内容:和单独的阵列的每个值存储在C++
rima doha 44881304 20 30 10 10 20 10102 10102
andrew ny 123456 12 12 13 14 15 01020 03040
并将它们存储在单独的阵列,对其进行编辑,然后再存储到同一个文件。
这是我尝试代码:
ifstream infile;
infile.open("D:\\customers.txt");
string names[100];
string addresses[100];
int tn[100];
int numCalls[100];
int trunkCalls[100];
int numMobCalls[100];
int isdnNum[100];
int dueD[100];
int paymentD[100];
int numOfPpl = 0;
int numOfPpl = 0;
for(int i=0; i<100; i++){
infile >> names[i] >> addresses[i]>>tn[i]>>numCalls[i]>>trunkCalls[i]>> numMobCalls[i]>> isdnNum[i]>>dueD[i]>>paymentD[i];
numOfPpl++;
}
//Code where some values were edited
ofstream outfile("D:\\customers.txt");
for(int i=0; i<numOfPpl; i++)
{
outfile<<names[i] << "\t" <<addresses[i] << "\t" <<tn[i]<<"\t" <<numCalls[i]<<"\t"
<<trunkCalls[i]<<"\t"<<numMobCalls[i]<<"\t"<<numMobCalls[i]<<"\t"<<isdnNum[i]<<"\t"<<dueD[i]<<"\t"<<paymentD[i]<<endl;
}
outfile.close();
infile.close();
问题是,前两行被正确地存储,但也有许多文件中的随机值。我该如何解决?
文件中有多少行? – P0W
您可能正在获取垃圾值,他们是否是大负数?我会假设你有问题,因为你正在循环我 - > 100,所以如果文件中没有100行,空行将变成垃圾值。 –
请不要另一个。你是否在StackOverflow中搜索“C++读取文件列”? –