1

我的 C++ 程序编译并运行,直到我从 main() 调用这个函数:

int uword(){fstream infile("numbers.txt");
fstream exfile("wordlist.txt");
string numb[numoflines];
string lines[numoflines];  
number = 1; 
line = 1;  
for(int i=0;i<numofline;++i)
    {
    getline (infile,number);
    numb[i] = number; //I think this is causing the problem
    getline (exfile,line);
    lines[i] = line; //This too
    }
infile.close();
exfile.close();    
string yourword;

这里的某些东西导致它崩溃,在调试中它弹出“程序中引发访问冲突(分段错误)”。

编辑:我的错误是在 for 循环中使用 !infile.eof 。

4

2 回答 2

3

不是一个直接的答案,但我相信这是一个很好的答案......

使用调试器!当发生分段错误时, GDB 应该在确切的行暂停,从而很好地提示您错误是什么。

于 2011-01-01T18:46:54.590 回答
1

getline功能不像您认为的那样工作。

此外,numoflinesinfile.

于 2011-01-01T18:44:05.637 回答