从文本文件C++中获取数值

Getting number values from text file C++

本文关键字:获取 取数值 C++ 文本 文件      更新时间:2023-10-16

我是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;
} 

假设您的文件如下所示:

Casey 5.3
Ricardo 6.8
...

然后在getline之后,您可以简单地执行以下操作:

string name;
float grade;    
stringstream ss;
ss.str(line);
ss >> name >> grade;

等级将包含您要查找的数字。

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';
}