一、關於getline
string s
如果寫getline(cin,s),則預設s收入輸入的字串中換行符之前的內容,並且之後換行符會被丟棄,也就是說,如果在後面再加一句char c=getchar(),c是讀不到換行符的
getline(cin,s,c)也會把最後的c丟棄,而且該c不會被讀進s內,c預設是』\n』。
如果寫getline(cin,s,』%』),則%之前的換行符會被保留,讀進s,即:如果輸入
qwert
zxcv%qwerty
那麼s的內容將是
qwert
zxcv
例子:1.
注意:上面把雙引號也存進陣列了
2.(有點奇怪的例子)
二、關於get
get是不會丟棄換行符的,但是cin.get()只用於輸入字元陣列,不用於輸入string
例:char c[10];
cin.get(c,5)
輸入asdfghj之後c的內容為
之後再getchar()得到的是』\n』
三、關於cin>>
cin>>可以輸入任意型別,包括數值型、char、string、char,
注意:如果是分開一行行cin>>輸入的話不會讀取空格或換行符,也不會丟棄中間的空格和後面的換行符
但是如果是連著cin>>a>>b這樣輸入的話是會丟棄中間的空格的,但是不會丟棄後面的換行符
例:char a[10];
char b[10];
cin>>a>>b;
輸入asd wer,則之後a的內容為,b的內容為
string s;
string t;
char c[10];
cin>>s>>t>>c;
輸入asd wer yui,則之後s的內容為「asd」,t的內容為「wer」,c的內容為
之後再getchar()得到的是』\n』
例子:
注意:為保險起見while裡面可以寫成c!=eof&&c!=』\n』,避免這一行不是以eof結尾
四、關於getchar()
getchar()可以讀取換行符、空格
五、把已經讀取的字元放回標準輸入流裡——ungetc(c,stdin)
C 需要注意點
11 設定static成員變數初值時,不受任何訪問許可權的束縛。可以再還沒有誕生任何物件的時候就處理static型別成員變數,但首先必須初始化它。2 只要access level允許,任何函式都可以訪問static成員變數。但如果你希望在產生任何object之前就訪問其class的private s...
AutoLayout 中需要注意的點
本文用於記錄我在使用 autolayout 過程中遇到的一些需要注意的事情,一種是容易犯的錯誤,一種是我找不到原因的情況。如果預覽的樣式和你預想的不一樣,檢查一下是不是忘記給作為背景的 view 新增約束 上下左右 可能有乙個約束缺失,導致整體樣式出錯。在 scrollview 中通過 autola...
關於connect需要注意的一點
這次要談的是connect 函式,出現的問題同樣是因為某條語句寫在了在迴圈之外。socket socket af inet,sock stream,0 中間省略 while 1 按照上面的 執行,當第一次沒有連線上,再進行第二次的連線時,如果此時連線成功,程式接著執行,便會被訊號中斷。後來調查發現,...