1. 程式人生 > >cin 和 getchar()

cin 和 getchar()



1 #include <stdio.h>
  2 #include <iostream>
  3 #include <string.h>
  4 using namespace std;
  5
  6 int main()
  7 {
  8     char buffer[200];
  9     int i=0;                                                               
 10     char temp;
 11     temp = getchar();
 12     if(temp == '\n')
 13         return 0;
 14     while(temp == ' ')
 15     {
 16         temp= getchar();
 17         if(temp != ' ')
 18             break;
 19     };      
 20     if(temp != '\n')
 21     {
 22         while(temp != '\n')
 23         {
 24             buffer[i++] = temp;
 25             temp = getchar();
 26             if(temp == ' ')
 27             {
 28                 while (temp == ' ')
 29                     temp = getchar();
 30                 buffer[i++] = ' ';
 31             }
 32         }
 33     }
 34
 35 //  cout << endl << buffer;
 36     for(int j=0; j<strlen(buffer); j++)
 37         cout << buffer[j];
 38     cout << endl;
 39     return 0;
 40 }          
 執行結果:
     today is     nice day. hl

today is nice day. hl
關鍵點:
1. do while和while執行順序要保證正確
2. temp = getchar()為正確,而cin >> temp無法正確實現功能

cin>>

該操作符是根據後面變數的型別讀取資料。

輸入結束條件 :遇到Enter、Space、Tab鍵。

對結束符的處理 :丟棄緩衝區中使得輸入結束的結束符(Enter、Space、Tab)

請參考如下網址:

http://www.cnblogs.com/A-Song/archive/2012/01/29/2331204.html