处理文件时出现致命错误

时间:2011-03-30 06:15:12

标签: c++ file file-handling

我正在处理C ++中的文件处理,我收到一个我无法删除的奇怪错误。我对文件处理很新,所以请帮帮我。

#include<iostream>
#include<string>
#include<fstream>
 using namespace std;

int main(void)
{
fstream index;
index.open("file1",ios::app);
index<<"this is the indexed file"<<endl;
index<<"file name /t"<<"size /t"<<"path"<<endl;
//index.close();

string line;
string wordtofind;
char filename[50];
int cnt;

//ifstream index("file1.txt");
if(index.is_open())
{
while(!index.eof())
{
getline(index,line);
cout<<line<<endl;
cout<<"enter a word to be searched"<<endl;
cin>>wordtofind;
cout<<"enter the file in which you want to search the given word"<<endl;
cin>>filename;
//cnt=count(filename,wordtofind);

    int counter=0;
    ifstream file;
    string word;

    file.open(filename);
    if(!file) //If not exist
    {
        cout << "Could not open file" << endl;

    }    
    else
    {
        while(file >> word)
        {   
            if(word.compare(wordtofind) == 0)
            counter++;
        }
    }
    file.close(); //always pays to be tidy



cout<<"the number of times the word occured in the file is "<<cnt<<endl;

index.close();
system("pause");
return 0;
}

错误:

  

致命错误C1075:找到文件结尾   在左支撑'{'

之前

感谢 - 你!

3 个答案:

答案 0 :(得分:3)

这通常意味着大括号未关闭。在您的情况下,使用花括号不会关闭while循环。我也认为你没有关闭if语句。

答案 1 :(得分:2)

你错过了两个关闭括号。我认为你的代码应以行结尾:

            cout<<"the number of times the word occured in the file is "<<cnt<<endl;
        }
        index.close();
    }
    system("pause");
    return 0;
}

答案 2 :(得分:1)

在cout&lt;&lt;“文件中出现的单词的次数为”&lt;“之后,你输了一个'}'

就像这样

}  index.close();