【发布时间】:2016-12-10 16:15:43
【问题描述】:
“运动员信息.txt”文件如下所示:
Peter Gab 2653 Kenya 127
Usain Bolt 6534 Jamaica 128
Bla Bla 2973 Bangladesh -1
Some Name 5182 India 129
我希望我的代码做的是读取第一个字符串并将其分配给firstName 数组(例如,彼得存储在firstName[0]),读取第二个字符串并将其分配给lastName 数组(对于例如,Gab 存储在lastName[0]) 等等..我尝试了许多不同的方法,甚至尝试将其全部设为字符串数组,但它不起作用。如果有人能告诉我代码有什么问题或如何解决,那就太好了!
提前致谢!
void readInputFromFile()
{
ifstream inputData;
inputData.open("Athlete info.txt");
const int SIZE=50;
char firstName[SIZE],
lastName[SIZE],
athleteNumber[SIZE],
country[SIZE];
int athleteTime[SIZE];
int numOfCharacters=0;
if (inputData.is_open())
{
int i=0;
while(!inputData.eof())
{
inputData >> firstName[i];
inputData >> lastName[i];
inputData >> athleteNumber[i];
inputData >> country[i];
inputData >> athleteTime[i];
i++;
numOfCharacters++;
}
for (int i=0; i < numOfCharacters; i++ )
{
cout << "First Name: " << firstName[i];
cout << "Last name: " << lastName[i];
cout << "AthleteNumber: " << athleteNumber[i];
cout << "Country: " << country[i];
cout << "Time taken: " << athleteTime[i];
cout << endl;
}
}
else
{
cout << "ERROR" << endl;
}
inputData.close();
}
【问题讨论】:
-
while(!inputData.eof())stackoverflow.com/questions/5605125/… -
您正在阅读 1 个字符。而不是一个字符串。如果你被允许使用
c++,这段代码会更简洁更好。我的意思是 std::string 而不是字符串的 c 数组..
标签: c++ arrays string function file