加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何将.txt文件中的表读取到C.

发布时间:2020-12-16 09:40:45 所属栏目:百科 来源:网络整理
导读:我想从文件中读取矩阵并在我的程序中使用它.但是当我输出结果时,它表明它没有正确读取. 这是代码: #define I 5 #define J 5 #define P 2 int i,j,k; //for loopsint main (){ ifstream inFile; ofstream outFile; double C[I][J]; inFile.open("C.txt",ios:
我想从文件中读取矩阵并在我的程序中使用它.但是当我输出结果时,它表明它没有正确读取.
这是代码:

#define I 5 
#define J 5 
#define P 2 

int i,j,k;  //for loops

int main ()
{
    ifstream inFile;
    ofstream outFile;
    double C[I][J];

    inFile.open("C.txt",ios::in);
    if (! inFile) {
        cerr << "unable to open file C.txt for reading" << endl;
        return 1;
    }

    for(i=0; i<I; i++)
        for(j=0; j<J; j++)
            inFile >> C[i][j];

    outFile.open("results.txt");
    outFile<< "C" <<endl;
    for(i=0;i<I;i++)
    {
        for(j=0;j<J;j++)
            outFile<< C[i][j];
        outFile<< endl;
    }

    inFile.close();
    outFile.close();

    return 0;
}

C是一个整数值为2 3 5的矩阵……但我得到的是

316-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061
-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061 -9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061 -9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061 -9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061-9.25596e+061

解决方法

您应该在每个数字后输出一个空格,否则它们将全部粘在一起.

outFile<< C[i][j] << " ";

您还应检查输入的有效性.没有在这里显示(你已经知道如何检查是否(!inFile)).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读