有兩種方法可以讀c++字串:使用提取操作符(>>)和getline函式。
(1)字串提取操作符:
首先,它跳過前導空白字元,然後提取所有鄰近的非空白字元。當發現空白字元時,
它就停下來。終止空白字元被留在輸入流中.
提取操作符可以用來從鍵盤(cin流)或者使用開放式檔案流從檔案讀資料。例如,要把乙個值讀入字串
物件str1,你只需要編寫下面的語句之一。
cin>>str1; or fsin>>str1;
(2)getline 函式
cin.getline(字元指標(char*),字元個數n(int),結束符(char));
cin的getline需要這樣用: cin.getline(s,50,'\n');
其中s需要時char *或unsigned char *,50表示讀入大小(最大),'\n'表示分隔符,可以省略,預設就是這個,如果是' ',則表示空格作為截止符
getline(cin,s,'\n'),s需要是string,需要引入string標頭檔案,std::string空間引入,'\n'可省略,如果是' ',則表示空格作為截止符
cin.getline適合你知道讀入大小,固定char陣列,速度快
getline(cin,s)不需要指定大小,但速度慢、生成的檔案大,適合偷懶用
//讀取乙個姓名字串,其中名和姓由逗號分開,然後列印這個姓名。#include#include#includeusing namespace std;
void main()
C 字串讀取
char s 11 cin.getline s,11 讀取輸入當前行的11個字元到s中,但是存在問題 流快取裡面存在的多餘的位元組如果沒讀完,那麼有幾個流狀態標誌 eof fail bad good會出錯。這樣接下來的讀取就出錯了!需要cin.clear 來清除這些標識位才能繼續讀取接下來的數字。當...
讀取xml字串
最新再做讀取客戶介面,介面返回的是xml型別的,以前做返回json的比較多。string strreq1 201002231011p9090 01wlpt06111111 6w0100cn 44001400101053003851 先來個xml字串 xmldocument document new ...
C 讀取字串
我們在使用鍵盤輸入字串的時候,輸入流對於字串的讀取有幾種不同的實現方式。cin cin 在讀取字串時使用空白 空格 製表符和換行符 來確定字串的結束位置,這說明cin在獲取字元陣列輸入時只能讀取乙個單詞。而讀取該單詞後,cin將該字串放到陣列中,並在結果自動新增空字元。so,在某些時候,我們需要使用...