getchar()、putchar()、gets()、puts()、cin.get()、cin.getline()、getline()

1.getchar:

原型爲int getchar(void).

它從stdin裏讀取一個字符。返回值爲用戶輸入的ASCⅡ碼,出錯返回-1。

eg:c=getchar().

 

2.putchar:

原型爲unsigned int putchar(char).

在stdout上輸出一個字符。當輸出正確的時候,返回輸出字符轉換爲的unsigned int 值;當輸出錯誤的時候,返回 EOF(End of file)文件結束符,即-1。

eg:putchar(c).

 

3.gets:

原型爲char* gets ( char* str ).

功能:從stdin流中讀取字符串,直至接收到換行符或EOF時停止,並將讀取的結果存放在str指針所指向的字符數組中。換行符不作爲讀取串的內容,讀取的換行符被轉換爲‘\0’空字符,並由此來結束字符串。

返回值:讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值爲NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。

注意:此函數不檢測堆棧溢出,溢出時會覆蓋堆棧上不相關的數據,可用fgets(stdin)代替。

eg:gets(str).

 

4.puts:

原型爲int puts(const char *string).

向標準輸出設備寫字符串並換行,其調用方式爲,puts(s);其中s爲字符數組或字符串。

注意:puts輸出字符串時要遇到'\0’也就是字符結束符才停止。

eg:puts(str).

 

5.cin.get:

兩種用法:

1)接收單個字符:eg:cin.get(c); <=> c=cin.get().

2)接收字符串:eg:cin.get(s,n); 其中,s爲字符數組或字符串,n爲此字符串的長度-1,自動把第n位賦值爲'\0'。

 

6.cin.getline:

cin.getline(char* str,int N,char f);其中,char f可以缺省爲'\n'。

此函數會一次讀取多個字符(包括空白字符)。它以str爲存放第一個讀取的字符的位置,依次向後存放讀取的字符,直到讀滿N-1個,或者遇到指定的結束符f爲止。若不指定結束符,則默認結束符爲'\n'。

eg:getline(s,10,'*');

 

7.getline:

istream& getline ( istream &is , string &str , char delim );

istream& getline ( istream& , string& );

將輸入流is(一般爲cin)中讀到的字符存入str中,直到遇到終結符delim才結束。對於第一個函數delim是可以由用戶自己定義的終結符;對於第二個函數delim默認爲 '\n'(換行符)。

  函數在輸入流is中遇到文件結束符(EOF)或者在讀入字符的過程中遇到錯誤都會結束。

在遇到終結符delim後,delim會被丟棄,不存入str中。在下次讀入操作時,將在delim的下個字符開始讀入。

eg:getline(cin,s,'*');

分類: C++/C
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章