C++ 使用c+从txt加载浮点/双矩阵+;

C++ 使用c+从txt加载浮点/双矩阵+;,c++,file-io,matrix,floating-point,C++,File Io,Matrix,Floating Point,这看起来很愚蠢,但我很难加载txt文件中的矩阵类型double。里面有签名的doubles之类的东西 11707.2 -919.303 -322.04 2260.71 2443.85 -4629.31 3082.64 -4209.86 -1741.71 298.192 -5658.34 2377.03 -3039 -2049.99 2788 -1915.9 等等,我有一个txt文件 我使用过fscanf、ifstream以及我发现并熟悉的各种东西,但我无法加载它。我在相关问题上找到了答案,但

这看起来很愚蠢,但我很难加载txt文件中的矩阵类型
double
。里面有签名的
double
s之类的东西

11707.2 -919.303 -322.04 2260.71 2443.85 -4629.31 3082.64 -4209.86
-1741.71 298.192 -5658.34 2377.03 -3039 -2049.99 2788 -1915.9 
等等,我有一个txt文件

我使用过
fscanf
ifstream
以及我发现并熟悉的各种东西,但我无法加载它。我在相关问题上找到了答案,但程序对我没有帮助

我需要将这些值保存到浮点数组中,但现在我只想能够正确加载它们,所有的值看起来都像我写的值

请帮忙?有人吗

相关问题:

标准成语:

#include <fstream>   // for std::ifstream
#include <sstream>   // for std::istringstream
#include <string>    // for std::string and std::getline

int main()
{
    std::ifstream infile("thefile.txt");
    std::string line;

    while (std::getline(infile, line))
    {
        // process line, e.g. one matrix per line:

        std::istringstream iss(line);
        std::vector<double> m;
        m.reserve(16);
        double d;

        if (iss >> d) { m.push_back(d); }
        else { /* error processing this line */ }

        if (m.size() != 16) { /* error */ }

        // use m
    }
}
#包含//用于std::ifstream
#include//for std::istringstream
#包含//用于std::string和std::getline
int main()
{
std::ifstream infle(“thefile.txt”);
std::字符串行;
while(std::getline(infle,line))
{
//工艺生产线,例如每生产线一个矩阵:
标准::istringstream iss(线);
std::向量m;
m、 储备(16);
双d;
如果(iss>>d){m.push_back(d)}
else{/*处理此行时出错*/}
如果(m.size()!=16){/*错误*/}
//使用m
}
}
如果矩阵数据分布在多行上,请相应地修改代码。

另一个问题是相关的,但也涉及不同的编程语言。您能否共享您的
ifstream
实现,我们可能会帮助您修复它。