我是c +的新手,需要帮助从文本文件中获取数字并将它们相乘。我能够显示文本,但我不知道如何从文本文件中检索数字,以便我将它们相乘。 (input.txt文件只是一个随机名称与数字相关联的文件。我想从文本中获取数字,以便我可以将它们相乘。)谢谢。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("input.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
cout << line << '\n';
}
myfile.close();
}
else
cout << "Unable to open file";
system("pause");
return 0;
}
答案 0 :(得分:1)
让我们说你的文件看起来像这样:
Casey 5.3
Ricardo 6.8
...
然后在你getline
之后你就可以做到这一点:
string name;
float grade;
stringstream ss;
ss.str(line);
ss >> name >> grade;
和成绩将包含您寻求的数字。
答案 1 :(得分:0)
Steven 10 5
Moe 2 8
Ali 45 3
Joe 34 1
这是您的文本文件的样子
您可以直接使用operator >>
并全部阅读。
std::ifstream file("input.txt");
std::string name;
// This will loop until we can no longer
// extract names from the file.
while (file >> name) {
int a;
int b;
file >> a >> b;
std::cout << name << ' ' << a * b << '\n';
}