我已经创建了一个数组,但现在它的大小需要由文件中的行数确定,它可以正常工作,直到我使用for循环将数组元素放入另一个文件,我得到错误& #34; _Pnext是0xCCCCCCD0",为什么?如果我在for循环而不是number_of_lines中放置一个数字,即30,则其工作正常
int number_of_lines=0;
std::string line2;
std::ifstream myfile("Input_files\\Pronunciations.txt");
while (std::getline(myfile, line2))
{
++number_of_lines;
}
string *hexsource = new string[number_of_lines];
for (int o = 0; o <number_of_lines; ++o)
{
file2 >> name[o] >> ipaname[o] >> anyway[o];
}
答案 0 :(得分:0)
for (int o = 0; o <++number_of_lines; ++o)
应该是
for (int o = 0; o < number_of_lines; ++o)
否则你的最终状况永远不会得到满足。
答案 1 :(得分:0)
你确定问题是在循环内吗? 如果是这样,我能想到的一个问题是,如果number_of_lines大于name / ipname /的大小,那么它会产生问题。
你给它们的尺寸是多大?
number_of_lines的最大值是什么?
您需要在代码中提及所有必需的内容