Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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++ C++;环路中的SIGSEGV分段故障_C++_File Io_While Loop_Segmentation Fault - Fatal编程技术网

C++ C++;环路中的SIGSEGV分段故障

C++ C++;环路中的SIGSEGV分段故障,c++,file-io,while-loop,segmentation-fault,C++,File Io,While Loop,Segmentation Fault,我有下面的代码,它最终导致了一个分段错误 for (int a=0; a<inputFileList.size(); a++) { fileLines = readFile(inputFileList[a].c_str()); for (int i = 0; i < fileLines.size(); i++) { if (fileLines[i].find("text") != string::

我有下面的代码,它最终导致了一个分段错误

    for (int a=0; a<inputFileList.size(); a++)
    {
        fileLines = readFile(inputFileList[a].c_str());
        for (int i = 0; i < fileLines.size(); i++)
        {
            if (fileLines[i].find("text") != string::npos)
            {
                bool warnFound = false, errFound = false;
                i++;
                while (fileLines[i].find("message") == string::npos && i < fileLines.size())
                {
                    if (fileLines[i].find("error") != string::npos)
                        errFound = true;
                    else if (fileLines[i].find("warning") != string::npos)
                        warnFound = true;
                    i++;
                }
                i--;
                if (errFound)
                    errCtr++;
                else if (warnFound)
                    warnCtr++;
                else
                    okCtr++;
            }
        }
        fileLines.clear();
    }

for(inta=0;awhile可能应该读取

while (i < fileLines.size() && fileLines[i].find("message") == string::npos)
while(i
while应该是

while (i < fileLines.size() && fileLines[i].find("message") == string::npos)
while(i
这是:

  while (fileLines[i].find("message") == string::npos && i < fileLines.size())
while(fileLines[i].find(“message”)==string::npos&&i
应该是:

  while (i < fileLines.size() && fileLines[i].find("message") == string::npos )
while(i
这是:

  while (fileLines[i].find("message") == string::npos && i < fileLines.size())
while(fileLines[i].find(“message”)==string::npos&&i
应该是:

  while (i < fileLines.size() && fileLines[i].find("message") == string::npos )
while(i
我不确定这是否与您遇到的错误有关,但第7行的
I++
似乎有问题。即使
I==fileLines.size()-1
,它也可能会增加I,所以
fileLines[I].find(“消息”)下一行的
将访问一个不存在的项目。

我不确定这是否与您遇到的错误有关,但第7行的
I++似乎有问题。即使
I==fileLines.size()-1
,它也可能会增加I,因此
fileLines[I]。find(“消息”)
下一行将访问一个不存在的项目