如何仅从C 中的文本文件中读取数字

How to read in only numbers from a text file in C++

本文关键字:文件 读取 数字 文本 何仅      更新时间:2023-10-16

我试图从一个看起来像这样的文件中阅读每个月的平均降雨量:

1月3日2月1日2月1.2日2.2 2.2

8月2日9月2日2.4

我需要接受前3个数字,并获得平均值,并在第3个月(3月(中输出。我目前有此代码:

#include <fstream>
#include <string>
using namespace std;
int main()    
{    
    ifstream inputFile;
    string name;
    double num = 0, many = 0, total = 0, value = 0;
    inputFile.open("Rainfall.txt");

    for (int count = 1; count <= 6; count++)
    {
        inputFile >> name;
        if (count == 1 || count == 3 || count == 5)
        {               
            continue;    
        }
        name += total;    
        cout << name << endl;     
    }
    for (int inches = 1; inches <= 6; inches++)
    {
        inputFile >> name;
        if (inches == 1 || inches == 3 || inches == 5)
        {
            continue;
        }
        cout << name << endl;
    }
    inputFile.close();          
    return 0;
}

,输出看起来像:

3.2
1.2
2.2
2.3
2.4
2.4

现在我无法添加前3个数字,因为它们是字符串,我需要它们是双打。

如果格式 name number是一致的,则可以琐碎地阅读:

std::string name;
double number = 0, total = 0;
while(inputFile >> name >> number)
{
    cout << name << ' ' << number << 'n';
    total += number;
}