gpt4 book ai didi

C++使用逗号作为分隔符获取多个变量类型

转载 作者:行者123 更新时间:2023-11-30 01:57:06 27 4
gpt4 key购买 nike

我正在尝试做一个家庭作业,它需要将 txt 文件中的数据读入变量。该文件在每一行“姓氏、首字母、数字、数字”上都有这个。我使用以下代码让 get 行部分工作。

    ifstream inputFile("Students.txt");
string line;

string Surname;
string Initial;
int number1, number2;

while (getline(inputFile, line))
{
stringstream linestream(line);

getline(linestream, Surname, ',');
getline(linestream, Initial, ',');
getline(linestream, number1, ',');
getline(linestream, number2, ',');

cout << Surname << "---" << Initial << "-" << number1 << "-" << number2 << endl;

}

这会引发编译错误,但如果我将 number1 和 number2 声明为字符串,它就可以正常工作。所以我的问题是,我是否必须将 getline 作为字符串然后转换为 int 变量,还是有更好的方法?

最佳答案

是的,根据定义,getline 函数的第二个参数必须是一个字符串,它将包含您提取的字符串。只需将 number1 和 number2 声明为字符串,然后使用 stoi() (C++11) 或 atoi() 函数将它们转换为整数:

string strNumber1;
string strNumber2;
getline(linestream, strNumber1, ',');
getline(linestream, strNumber2, ',');
int number1 = stoi(strNumber1);
int number2 = atoi(strNumber2.c_str());

希望对你有帮助

关于C++使用逗号作为分隔符获取多个变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com