通过文本文件发送字符串和 int 以运行

Sending a String and Int to Function via Text File

本文关键字:int 运行 字符串 文本 文件      更新时间:2023-10-16

我正在尝试读取每行都有名称和年龄的文本文件,例如

Tom
55
Bob
12
Tim
66

然后我需要将其传递给一个函数,该函数接受字符串和整数,例如:

sortDLL.Insert(name, age);

但是,我不确定如何做到这一点。 我用以下内容对其进行了测试,它可以工作(绕过文本文件):

string tom = "tom";
string bob = "bob";
string tim = "tim";
int a = 55;
int b = 12;
int c = 66;
     sortDLL.Insert(tom, a);
     sortDLL.Insert(bob, b);
     sortDLL.Insert(tim, c);

但是当我尝试读取文本文件并发送它时,程序无法正常运行。 这就是我目前正在尝试的,我已经搞砸了其他一些事情,但没有运气:

ifstream infile ("names.txt");

while(getline(infile, line));
{
    istringstream ss(line);
    if (ss >> name)
        cin >> name;
    else if (ss >> wt)
        cin >> wt;
    sortDLL.Insert(name, wt);

}
infile.close();

像往常一样,任何帮助使其工作将不胜感激,谢谢!

我认为正确的代码应该是这样的。请记住,您必须每 1 个插入片段读取 2 行。

while(getline(infile, line))
{
    stringstream ss(line);
    ss >> wt;
    if(ss.fail()) {
        name = line;
        continue;
    }
    else {
        // cout << name << ":" << wt << endl;
        sortDLL.Insert(name, wt);
    }
}