c++:
1).cin.get()不會讀取換行符,換行符還在輸入流中
2).cin.getline()會讀取換行符,并把換行符從輸入流中丢掉
3).cin.get()讀取空行後将設定失效位(failbit),意味接下來的輸入将被阻斷關閉輸入 (注:隻讀取到換行符的時候,意味讀取到空行,可以使用cin.clear()指令恢複);
4).當輸入行包含的字元數比指定的多時,cin.getline()會設定失效位(failbit),并關閉輸入
5).當cout後跟的是字元型的指針的時候,将列印的是該指針所代表的内容而不是指針的位址(char * 特殊),如果要列印該指針的位址需用(int * )轉換
6)當cin讀入的資料與目标變量不一緻時将會出現以下四種情況:(cin不讀取換行符以及空白字元)
a).目标變量的值不變
b).不比對的輸入繼續留在輸入流中
c).cin的調用将傳回一個false
d).設定失效,阻斷接下來的輸入(可以使用cin.clear()指令恢複)
c:
1).gets()從stdin流中讀取字元串,直至接受到換行符或EOF時停止,(不會限定讀取多少)
換行符不作為讀取串的内容,讀取的換行符被轉換為null值,并由此來結束字元串
2).scanf("%s",&s)就是如果輸入了空格會認為字元串結束,空格後的字元将作為下一個輸入項處理,
(不會限定讀取多少,也不會讀取換行符)
3).fgets(str,n,fp),當讀取到n-1或者遇到換行符的時候停止,可以限定讀取的字元數
會把換行符讀入字元串内