我正在从文件中解析数据,并用字符串,float和int成员变量填充结构数组。我在getline()字符串的第一个字符上使用if语句测试其类型,然后将字符串声明为getline值,或使用stof或stoi将getline()值转换为float / int。该程序将新值传递给float和int循环,但反复将遇到的第一个字符串传递给我的构造函数。对于此问题的任何帮助将不胜感激。
int length=0;
string _username;
float _gpa;
int _age;
string line;
while(into.eof()==false)
{
getline(into, line, ',');
if(line.at(0)>'9')
{
_username=line;
}
if(line.at(1)=='.')
{
_gpa=stof(line);
}
if(line.at(0)<='9' && line.at(1)!='.' && line.at(0)>='0')
{
_age=stoi(line);
users[1000].addUser(users, _username, _gpa, _age, length);
length++;
}
}
如果用户名应为:Mark,Chuck,Sarah,则此代码会将用户名构造为:Mark,Mark,Mark