【发布时间】:2011-07-18 05:31:24
【问题描述】:
我正在尝试将文件中的输入读入数组。我似乎已经完成了必要的工作,但代码并没有按应有的方式工作。请告诉我我哪里出错了。这是我的代码:
int pb[10][10];
int i,j,n;
string ip_filename = string("pro.txt");
ifstream fil1;
fil1.open(ip_filename.c_str());
// to store the probabilities of the nodes
for(i=0;i<num_rows;i++)
for(j=0;j<num_cols;j++)
fil1 >> pb[i][j];
fil1.close();
for(i=0;i<num_rows;i++)
{
for(j=0;j<num_cols;j++)
cout<<pb[i][j]<<" ";
cout<<endl;
}
文本文件与 cpp 文件位于同一目录中。在打印输出时,它只打印 0 而与文件中的值无关。
文件中的值存储如下
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
num_rows 和 num_cols 之前在代码中定义,两者的值都是 4。
【问题讨论】:
-
您确定您的文件加载正确吗?
-
代码不完整。 num_rows 和 num_cols 未定义。
-
代码中的错误检查和/或调试将比我更好地回答您的问题...
-
@kipoltov:无法得到你的问题。我的文件和cpp文件在同一目录下。
-
@CHID:你确定 'fil1.open' 可以正常工作吗?顺便说一句,当前目录不应该是你的 cpp 文件所在的位置,而是你的 exe 文件所在的位置。
标签: c++ inputstream ifstream