Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;程序中出现访问冲突(分段错误)。”; < >我的C++程序编译并工作,直到我从主()调用这个函数:< /p> int-uword(){fstream-infle(“numbers.txt”); fstream exfile(“wordlist.txt”); 麻木的字符串[numoflines]; 字符串行[numoflines]; 数字=1; 直线=1; 对于(int i=0;i_C++_Dev C++ - Fatal编程技术网

&引用;程序中出现访问冲突(分段错误)。”; < >我的C++程序编译并工作,直到我从主()调用这个函数:< /p> int-uword(){fstream-infle(“numbers.txt”); fstream exfile(“wordlist.txt”); 麻木的字符串[numoflines]; 字符串行[numoflines]; 数字=1; 直线=1; 对于(int i=0;i

&引用;程序中出现访问冲突(分段错误)。”; < >我的C++程序编译并工作,直到我从主()调用这个函数:< /p> int-uword(){fstream-infle(“numbers.txt”); fstream exfile(“wordlist.txt”); 麻木的字符串[numoflines]; 字符串行[numoflines]; 数字=1; 直线=1; 对于(int i=0;i,c++,dev-c++,C++,Dev C++,,getline函数的工作方式与您认为的不同 另外,在infle中可能有多行numoflines行getline函数的工作方式与您认为的不同 另外,在infle中可能会有超过numoflines的行,这不是一个直接的答案,但我相信这是一个很好的答案 使用调试器!当分段错误发生时,GDB应该在准确的行挂起,从而为您提供一个关于错误的非常好的提示。不是一个直接的答案,但我相信这是一个很好的答案 使用调试器!当分段错误发生时,GDB应该在精确行挂起,从而为您提供有关错误的非常好的提示。您的输入循环不正

getline
函数的工作方式与您认为的不同


另外,在
infle

中可能有多行
numoflines
getline
函数的工作方式与您认为的不同


另外,在
infle
中可能会有超过
numoflines
的行,这不是一个直接的答案,但我相信这是一个很好的答案


使用调试器!当分段错误发生时,GDB应该在准确的行挂起,从而为您提供一个关于错误的非常好的提示。

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


使用调试器!当分段错误发生时,GDB应该在精确行挂起,从而为您提供有关错误的非常好的提示。

您的输入循环不正确。GMan很好地解释了如何在中正确处理输入。Changing!infle.eof()对我来说,你是说iYes,这就是我的意思,当我在代码中更改它时,它现在可以工作了。:)你的输入循环不正确。GMan很好地解释了如何正确处理.Changing!infle.eof()中的输入对我来说,你是说iYes,这就是我的意思,当我在代码中更改它时,它现在可以工作了。:)你能详细说明一下“getline”的正确用法吗?numoflines以前是根据文件中的行数来计算的。@Mark:请参阅
man 3 getline
。它是为与C
文件*
句柄一起使用而设计的,你现在正试图在这里使用它使用
fstream
。你应该使用
infle>>number
来使用C++风格的
ifstream
。我使用getline是因为它似乎可以达到这个目的。infle>>number只需将整个文件写入正确的数字即可。你能详细说明一下“getline”的正确用法吗?Numofline之前是通过使用多少行来计算的在文件中。@Mark:See
man 3 getline
。它是为与C
file*
句柄一起使用而设计的,您在这里试图将它与
fstream
一起使用。您应该使用
Infle>>number
来使用C++风格的
ifstream
。我使用getline是因为它似乎可以用于此目的。Infle>>number可以使用st将整个文件写入数字,对吗?
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;