>>
オペレータに関する質問があります。
バイナリファイルの単語数をカウントするプログラムを作成しました。
私の質問はwhileループについてですが、>>
はスペースを読んではいけません。ループに入り、インクリメントCになりますが、何も入れないでください。
それは私に4の出力を与えますが、スペースを数えることは10ではありませんか?
ご協力いただければ幸いです。私のコードは以下の通りです:デフォルトではC++ - >>演算子はどのように動作しますか?
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
ofstream a;
ifstream b;
void main()
{
clrscr();
char w[20];
a.open("newf.txt",ios::binary);
a<<"This is an example\n";
a.close();
b.open("newf.txt");
int c=0;
while(b>>w)
{
c++ ;
}
cout<<c;
b.close();
getch();
}
(あなたが呼び出しているものも含めて) 'operator >>'の大部分のオーバーロード[先頭の空白をすべてスキップする](http://en.cppreference.com/w/cpp/concept/FormattedInputFunction)。 –
これを認識しているかどうかはわかりませんが、廃止予定のヘッダーを使用しています。たとえば、「」の代わりに「」を使用する必要があります。 –
buratino
参照:http://en.cppreference.com/w/cpp/io/manip/skipws –