为什么我可以从C ++中的文件中读取int值,但不能浮动?

问题描述 投票:0回答:1
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main()
{
    //Create a dynamic array to hold the values
    vector<int> integers;
    //Create a dynamic array to hold the values
    vector<double> floating;
    int x;
    double d;
    int sum1=0;
    double sum2=0.0;
    string line;
    ifstream infile;
    infile.open("data.txt", ios::in);

    while(infile >> x)
    {
        integers.push_back(x);

    }
    while(infile >> d)
    {
        floating.push_back(d);

    }
    int index = 0;
    infile.close();

    for(int i=0; i<integers.size(); i++)
    {
        sum1 += integers[i];
    }
    for(int i=0; i<floating.size(); i++)
    {
        sum2 += floating[i];
    }

整数输出正在按预期方式工作。但是双精度值不是吗?另外,双精度值在整数值之后立即开始,因此我没有将文件指针移动到其他位置。

c++ file-handling
1个回答
2
投票

执行时

© www.soinside.com 2019 - 2024. All rights reserved.