c++从文件中读取值时出错
c++ error reading values from file
这是我的第一篇文章,所以如果我写了一些违反论坛规则的东西,请表示理解。我碰巧也是C++的新手,所以如果你能写一些简化的东西,如果可能的话。
我需要从一个名为text.txt的文件中读取一些值,它是这样的(总共13列):
1 2 B5 AA 120 0 100 1.5 1.5 G 0 0 0 n
1 2 B6 AB 120 0 100 1.5 1.5 G 0 0 0 n
1 2 B7 AC 120 0 100 1.5 1.5 G 0 0 0 n
...
上述文件的行数可能不确定。它是通过其他例程生成的。
我用代码做了一个例程::块。我制作了三个矩阵,将上述数据保存为整数、双精度和字符串。我所做的减速如下:
int c1, c2, c7, i = 0, nNumPipes;
double c5, c6, c8, c9, c11, c12, c13;
string c3, c4, c10;
int PipeI[][3] = {0};
double PipeD[][6] = {0};
string PipeS[10000][3];
然后我使用以下语法来读取行:
ifstream inf("C:\text.txt");
while (inf >> c1 >> c2 >> c3 >> c4 >> c5 >> c6 >> c7 >> c8 >> c9 >> c10 >> c11 >> c12 >> c13)
{
PipeI[i][0] = c1;
PipeI[i][1] = c2;
PipeS[i][0] = c3;
PipeS[i][1] = c4;
PipeD[i][2] = c5;
PipeI[i][2] = c7;
PipeD[i][0] = c8;
PipeD[i][1] = c9;
PipeS[i][2] = c10;
PipeD[i][5] = c11;
PipeD[i][3] = c12;
PipeD[i][4] = c13;
i++;
}
nNumPipes = i;
但是,代码在此"while"循环中失败。我错过什么了吗?
我收到的错误消息是一个窗口,上面写着"xxx.exe已停止工作"。
任何帮助都将不胜感激。
您会得到这个错误,因为您的数组PipeI和PipeD在它们的第一个括号中只有一个索引长,所以它类似于
PipeI[1][3]={0};
PipeD[1][6]={0};
如果你试图对它进行迭代,你就会得到错误。数组在c++中总是具有固定大小。
相关文章:
- 读取文件的最后一行并输入到链接列表时出错
- 从人员矢量插入和读取文件时出错
- 使用 Visual Studio 代码读取 C++ 中的输入流时出错
- 在C++中使用istringstream读取输入时出错
- 读取字符串C++的字符时出错
- 读取字符串字符时出错 - 对于数组中的字符串值
- 从文件中读取行时出错
- 将 Git 提交哈希读取到C++时出错
- 读取字符串字符时出错
- C++ 使用 Strtok 读取字符串字符时出错
- C++:使用 fgets() 读取字符输入时出错
- 使用 C++Builder 项目读取字符串中的文件时出错
- C ++ ifstream 无法读取字符串,并且在读取字符时出错
- 通过具有矢量基址的指针读取矢量元素时出错
- 尝试重复读取输入会出错
- 从字符串中读取字符时出错
- 分段 追加和读取二进制文件时出错
- 通过提升从流中读取 XML 时出错
- 使用 ifstream 读取文件时出错
- 为什么我在尝试从istringstream读取数据时出错