字元與字串的輸入輸出

2021-09-29 04:04:40 字數 1483 閱讀 1578

putchar

gets

fgets

puts

cin與cout

getline

cin.getline

不接受空格,回車結束輸入

接受空格,回車結束輸入,換行符會儲存在緩衝區

getchar()函式等待輸入直到按回車才結束,回車前的所有輸入字元都會逐個顯示在螢幕上,但只有第乙個字元作為函式的返回值。

函式原型:int getchar(void);

功能:從標準輸入裡讀取下乙個字元,相當於getc(stdin)。

返回值:返回型別為int型,為使用者輸入的ascii碼,出錯返回-1。

接受空白字元、換行符

函式原型: int putchar(int ch);

getchar與putchar的使用
#includeint main()

接受空格,回車鍵結束輸入

函式原型:char *gets(char *string);

ps:(1)因為gets不限制輸入字元個數,因此容易造成程式崩潰,可使用fgets代替;(2)在gcc中使用gets(),編譯無法通過;

函式的功能:從fp所指檔案中讀入n-1個字元放入str為起始位址的空間內;如果在未讀滿n-1個字元之時,已讀到乙個換行符或乙個eof(檔案結束標誌),則結束本次讀操作,讀入的字串中最後包含讀到的換行符。

呼叫fgets函式時,最多只能讀入n-1個字元。讀入結束後,系統將自動在最後加』\0』,並以str作為函式值返回。

函式原型:char *fgets(char *buf, int bufsize, file *stream);

*buf: 字元型指標,指向將儲存到的資料位址。

bufsize: 整型資料,指明buf指向的字元陣列的大小。

*stream: 檔案結構體指標,將要讀取的檔案流。

fgets讀取指定大小的資料,避免gets函式從stdin接收字串而不檢查它所複製的快取的容積導致的快取溢位問題

輸出空格與換行符,遇到』\0』停止輸出

#include #include //getch()的標頭檔案

int main(void)

str[10]='\0';

//若去掉上面一行**,則會輸出亂碼

//puts輸出字串時要遇到'\0』也就是字元結束符才停止

puts(str);

getch();

return 0;

}

cin:輸入字串陣列時,遇到空白字元結束輸入(不能讀入空格)。

cout:在輸出字串陣列時,與puts()和printf+%s相同,遇到『\0』停止輸出。

cin.getline()函式用於處理陣列字串

函式原型:cin.getline(char * , int);第乙個引數為乙個char指標,第二個引數為陣列字串長度。

字元 字串的輸入輸出

字元與字串的輸入輸出 如果要使用現成的字串函式和方法,就一定要加上對應的標頭檔案,如果在c 當中呢,就是 include 如果是在c當中呢,就是 include 4.1字元,字串的輸入輸出 char c 字元的輸入輸出 scanf c c printf c c 接收單個字元 字串的輸入輸出 char...

字元 字串的輸入 輸出

提前宣告 c字串為char或char 型別,include 而c 字串為string型別。include 定義c字串時,有如下問題 char str hello world 必須初始化 char str 3 想要不初始化,必須指定長度 char str 沒有分配記憶體,且無法用字串常量初始化,否則報...

字串的輸入輸出

1.字串陣列 初始化 char s1 array 字元陣列 char s2 6 array 陣列長度 字串長度 1,因為字串末尾會自動添 0 printf s,c n s1,s2 2 2.字串指標 初始化 char sp pointer 字元指標 printf s,c,c n sp,sp,sp 2 ...