輸入是一整行的字串的
c語法:
char buf[20];
gets(buf);
c++語法:
如果用string buf;來儲存:
getline( cin , buf );
如果用char buf[ 255 ]; 來儲存:
cin.getline( buf, 255 );
scanf("%s%s",str1,str2),在多個字串之間用乙個或多個空格分隔;
若使用gets函式,應為gets(str1); gets(str2); 字串之間用回車符作分隔。
通常情況下,接受短字元用scanf函式,接受長字元用gets函式。
而getchar函式每次只接受乙個字元,經常c=getchar()這樣來使用。
cin.getline的用法:
getline 是乙個函式,它可以接受使用者的輸入的字元,直到已達指定個數,或者使用者輸入了特定的字元。它的函式宣告形式(函式原型)如下:
istream& getline(char line, int size, char endchar = '\n');
不用管它的返回型別,來關心它的三個引數:
char line: 就是乙個字元陣列,使用者輸入的內容將存入在該陣列內。
int size : 最多接受幾個字元?使用者超過size的輸入都將不被接受。
char endchar :當使用者輸入endchar指定的字元時,自動結束。預設是回車符。
結合後兩個引數,getline可以方便地實現: 使用者最多輸入指定個數的字元,如果超過,則僅指定個數的前面字元有效,如果沒有超過,則使用者可以通過回車來結束輸入。
char name[4];
cin.getline(name,4,'\n');
由於 endchar 預設已經是 '\n',所以後面那行也可以寫成:
cin.getline(name,4);
c語言字串輸出
在採用字串方式後,字元陣列的輸入輸出將變得簡單方便。除了上述用字串賦初值的辦法外,
還可用scanf函式和printf函式一次性輸入輸出乙個字元陣列中的字串,而不必使用迴圈語句逐個輸入輸出每個字元。
要輸出乙個字串需要在printf函式的格式描述串中使用轉換字串「%s」,表示輸出的是乙個字串。如:
char name="hello world";
printf("%s\n",name);
在printf語句中使用了轉換字串「%s」,因此輸出引數中只給出陣列名即可。同樣,要輸入乙個字串也要加轉換字串「%s」。如:
char name[15];
printf("請輸入姓名:\n");
scanf("%s",name);
printf("%s",name);
由於定義陣列name的長度為15,因此輸入的字串長度必須小於15,以留出1位元組用於存放字串結束標示'\0'。
對乙個字元陣列,如果不作初始化賦值,則必須說明陣列長度。然而,scanf()語句在按下回車鍵前都將接收字元。
按下回車鍵後,scanf()在字串末尾插入乙個空字元'\0'以標示字串結束。因此,如果鍵入25個字元後再按下回車鍵,
儘管字串宣告為僅由15個字元構成,它仍將接收並儲存字元。因此,對字串使用scanf()時,
必須注意輸入字串長度不能超過宣告字串時指定的大小。這是因為輸入多餘字元後,
編譯器也不會發出任何錯誤提示或警告,這些字元甚至被接收並儲存在記憶體中,造成程式隱患。
scanf()語句不允許在輸入中存在空白字元。例如,當用scanf()接收字串時,鍵入「liu de hua"後,
只有「liu」被儲存在記憶體中,而空格字元後的其他剩餘字元將被丟棄。要克服這個問題,c語言中提供了gets()和puts()函式
分別用於字串的輸入和輸出。
puts函式的格式為: 1071 969
puts (字元陣列名);
功能:把字元陣列中的字串輸出到顯示器。即在螢幕上顯示該字串。
gets函式的格式為:
gets (字元陣列名);
功能:從標準輸入鍵盤上讀入乙個完整的行(從標準輸入讀,一直讀到遇到換行符),
把讀到的內容存入括號中指定的字元陣列裡。並用空字元'\0'取代行尾的換行符'\n'。gets()函式允許在字串中間包含空格。
C語言輸入字元和字串
字元 對三個函式的總結 getchar getche getch 函式緩衝區 標頭檔案回顯 適用平台 getchar 有stdio.h 有windows linux mac os 等所有平台 getche 無conio.h 有windows getch 無conio.h 無windows 使用者按下...
C語言輸入字元和字串
c語言有多個函式可以從鍵盤獲得使用者輸入,它們分別是 scanf 和 printf 類似,scanf 可以輸入多種型別的資料。getchar getche getch 這三個函式都用於輸入單個字元。gets 獲取一行資料,並作為字串處理。scanf 是最靈活 最複雜 最常用的輸入函式,我們講解字元輸...
c 把一整數轉換為字串
把一整數轉換為字串 itoa i,num,10 i 需要轉換成字串的數字 num 轉換後儲存字串的變數 10 轉換數字的基數 即進製 10就是說按10進製轉換數字。還可以是2,8,16等等你喜歡的進製型別 返回值 指向num這個字串的指標 程式例 include include int main v...