C++读出空白符方法

1)以前都用的是cin>>noskipws>>bank[i];or bank[i]=cin.get();加循环的方法

[cpp]  view plain  copy
 print ?
  1. #include  
  2. using namespace std;  
  3. char bank[100];  
  4. int main()  
  5. {  
  6.     while (1)  
  7.     {  
  8.         for (int i = 0;; i++)  
  9.         {  
  10.             //cin >> noskipws >> bank[i];  
  11.             bank[i] = cin.get();  
  12.             if (bank[i] == '\n')        //输入结束标识符'\n'  
  13.                 break;  
  14.         }  
  15.         cout << bank;  
  16.     }  
  17. }  

2)cin.get(数组,sizeof(数组)),使用它输入流中会有一个'\0'没有吸收,所以最后要cin.get()吸收掉

[cpp]  view plain  copy
 print ?
  1. #include  
  2. using namespace std;  
  3. char bank[100];  
  4. int main()  
  5. {  
  6.     while (1)  
  7.     {  
  8.         cin.get(bank, sizeof(bank));  
  9.         cout << bank<
  10.         cin.get();          //用来接收输入流中不需要的字符,不然会死循环  
  11.     }  
  12. }  

3)cin.getline(数组,sizeof(数组),[’结束标志符']),‘结束标识符’是可选参数,只有你输入了该字符本次输入才算结束并且不会采集该字符。(网上有说该字符系统默认是‘\0',但是我觉得应该是’\n')

[cpp]  view plain  copy
 print ?
  1. #include  
  2. using namespace std;  
  3. char bank[100];  
  4. int main()  
  5. {  
  6.     while (1)  
  7.     {  
  8.         cin.getline(bank, sizeof(bank),'\n');  
  9.         cout << bank;  
  10.     }  
  11. }  

出处:http://blog.csdn.net/A__yes/article/details/48138357

你可能感兴趣的:(C/C++编程技巧)