gpt4 book ai didi

c++ - 从 C++ 中的 .txt 文件中读取 float

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:18 27 4
gpt4 key购买 nike

您好,我无法读取 .txt 文件中由空格分隔的 float 列表。我想将从文件中读取的数字存储在一个 vector 中,然后从中获取一些信息(总和、中位数、众数等),但我什至无法获取存储在 vector 中的值。代码段如下:

#include <vector> 
#include <fstream>
#include <iostream>

int main(){

std::ifstream myFile; //creates stream myFile
myFile.open("simpledata.txt"); //opens .txt file

std::vector<double>numberlist; //vector to store the numerical values in
double number = 0 ;
while(myFile >> number){ //
numberlist.push_back(number);

for (int i = 0; i < numberlist.size(); i++){
std::cout << numberlist[i] << std::endl ;
}



double sum = 0;

for (int i = 0; i< numberlist.size(); i++){ //calculates sum
sum += numberlist[i];}
std::cout << "Average number: " << sum/numberlist.size() << std::endl; //prints average
}

当我运行这个程序时,平均值输出为“-1.#IND”,这显然不是我想要的。我真的很感激任何帮助。我是编程新手,所以如果这段代码特别糟糕,我深表歉意。

最佳答案

添加这段代码

std::ifstream myFile;            //creates stream myFile
myFile.open("simpledata.txt"); //opens .txt file

if (!myFile.is_open()) // check file is open, quit if not
{
std::cerr << "failed to open file\n";
return 1;
}

看起来您确实无法打开文件,这就是您无法读取任何 float 的原因。

此代码将检验该理论。打开文件时,总是检查打开是否成功。

关于c++ - 从 C++ 中的 .txt 文件中读取 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19348597/

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