我有一個關於>>
運營商的問題。
我寫了一個程序來計算二進制文件中的字數。
我的問題是關於while循環,不應該>>
讀空間,進入循環,增加c,但只是不把任何東西放入w?
它給了我一個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 –