天天看點

[C++ Primer Plus]學習筆記--每次讀取一行字元串輸入

面向行的輸入

1.getline( )

getline( )讀取整行,它使用通過Enter鍵輸入的換行符來确定輸入結尾.

使用方法:

char name[20];
cin.getline(name,20);
           

2.get( )

char name[20];
cin.get(name,20);
           

get( )也是讀取整行,直到換行符,但是getline( )将丢棄換行符,而get( )将換行符保留在輸入序列中.正因為這個原因,當多次輸入時

char name1[20],name2[20];
cin.get(name1,20);
cin.get(name2,20);
           

由于換行符留在輸入隊列中,是以第二次get()無法讀取到有效内容.

可以采取下列辦法:

1.

cin.get(name1,20);
cin.get( );
cin.get(name2,20);

           
cin.get(name1,20).get();
cin.get(name2,20);

如果是char  用
fgets(cstr1, 10, stdin)