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'算為停止.
以上兩個小例子希望能解決大家輸入字符串的問題。
以后的代碼我爭取截圖發上來,顯得工整一些。