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