gpt4 book ai didi

c++ - 文件输入,试图从字符串中提取 Int (C++)

转载 作者:行者123 更新时间:2023-11-30 02:44:07 26 4
gpt4 key购买 nike

大家好,我正在尝试将此列表与文本文件分开

15

Albert Einstein 52 67 63

Steve Abrew 90 86 90 93

David Nagasake 100 85 93 89

Mike Black 81 87 81 85

Andrew Van Den 90 82 95 87

Joanne Dong Nguyen 84 80 95 91

Chris Walljasper 86 100 96 89

Fred Albert 70 68

Dennis Dudley 74 79 77 81

Leo Rice 95

Fred Flinstone 73 81 78 74

Frances Dupre 82 76 79

Dave Light 89 76 91 83

Hua Tran Du 91 81 87 94

Sarah Trapp 83 98

Into Full name, so Albert Einstein, 然后他们后面的int's作为一个数组。

但是我不确定该怎么做。

这就是我到目前为止一直在做的事情,但它对我来说并不合适。

void Student::getData(Student * stdPtr, int len)
{
int tempt;
int sucker = 0;

ifstream fin;
fin.open("students.dat");
fin >> tempt;

while(!fin.eof())
{
string temp;
getline(fin, temp,'\n');

stringstream ss;
ss << temp;
ss >> sucker;

cout << temp << " "<< sucker << endl;
sucker = 0;
}
fin.close();
}

我觉得我有点接近了,实际上能够通过字符串流自行获取数字,但我不知道如何向我的程序表明我正在开始招收一名新学生

谢谢大家的帮助!

最佳答案

这是一个简单的算法(懒得写完整的代码:P)

1) 使用 fin >> temp_str 继续阅读,此处 temp_str 是 std::string

2) 使用 std::stoi(temp_str) 将字符串转换为整数。

如果不是整数而是字符串,则通过无效异常。使用此异常可以:

2A) 最后一个值是 int: 它是新对象的名称数据。

2B) 最后一个值不是 int:它是名称的下一部分,您应该附加到最后一个字符串。

3) 如果没有抛出异常,则为一个数字,保存在当前对象中。

4) 继续读取文件直到结束。

关于c++ - 文件输入,试图从字符串中提取 Int (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548028/

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