C++輸入不定長字符串


lean要做一個腳踏實地的人。

博客第一篇要從一個在大家看來low到爆的基礎知識:C++輸入不定長字符串寫起。

昨天去華為面試,被坑了一小下,下面的兩個方法,大家可以放心使用。

1.在頭文件中添加<string>

string str ;

cin>>str;

此時的str不可包含空格,制表符等。因為cin這個函數的性質,遇到/t /s /n,它的棧就會彈出結束,str在最后加上\0。

 至於sezeof(str) 在linux下,輸出的永遠都是4 ,我想應該是str的(char*)類型的長度.如果想獲取其長度,由於其

會自動在后面加上\0,因此可以使用for循環獲得大小。當然,可以直接使用str[N]來得到N處的值。

2.

#define N 50

#define M 100

char str[M];

cin.getline(str,N);

N是限制字符串的長度。這樣做的好處就是可以輸入空格哦,但是遇到'\n'他就消停啦!這里的

sizeof(M)就是100.獲取他有效長度也可以用方法1中的循環,當遇到str[i] == '\0'算為停止.

以上兩個小例子希望能解決大家輸入字符串的問題。

以后的代碼我爭取截圖發上來,顯得工整一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM