0

以下のプログラムを作りました。太字部分に誤りがあります。私が得ている出力の count の値はゼロです。コードをコンパイルしたときにエラーはありませんでした。

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
    clrscr();
    void count();
    fstream file("STORY.TXT",ios::in|ios::out);
    file<<"He is playing in the ground. She\nis playinbg with her dolls.\n";
    file.close();
    count();
    getch();
}
void count()
{
    ifstream file("STORY.TXT");
    file.seekg(0);int count=0;
    while(!file.eof())
    {
        char line[10];
        **file.get(line,10,' ');
        cout<<line<<"\n";
        if(line=="HE")
            ++count;**
    }
    cout<<count;
    file.close();
}
4

1 に答える 1

3

文字列の比較は、を介して行われません==。それは単にアドレス置換を比較します

if(line=="HE")

if(!strcmp(line, "HE"))

編集

大文字と小文字を区別しない場合

if(!strcmpi(line, "HE"))
于 2013-03-13T07:05:51.440 に答える