c++
如何輸入含空格的字串
1、scanf函式(包含標頭檔案#include )
scanf函式一般格式為scanf(「%s」,st),但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下: 1)利用格式符「%」它的作用為掃瞄字元集合。scanf(「%[^c]」,str); 其中「c」是乙個具體的字元常量(包括控制字元)。當輸入字串時,字元「c」將被當作當前輸入的結束符。利用此格式符就可以由程式設計者自己指定乙個輸入結束符。例如:scanf("%[a-z a-z0-9]",str)表示只匹配輸入是大小寫字母和數字,遇到非數字和字母時輸入結束。例如:
int main()
2. cin(包含標頭檔案#include )
cin是c++中最常用的輸入語句,當遇到空格或者回車鍵即停止。無法解決。
3. gets()
可以無限讀取,以回車結束讀取,c語言中的函式,在c++中執行會產生bug。在
c11標準中已被正式刪除,建議不要用!!!
4. getline()(包含標頭檔案#include )
若定義變數為string型別,注意不是字元型陣列
。則要考慮getline()函式。用法如下:
int main()
{ string st;
getline(cin,st);
cout<4.cin.get (char *str, int maxnum)
cin.get()函式可以接收空格,遇回車結束輸入。
int main()
{ char st[50];
cin.get(st,50);
cout<5.cin.getline (char *str, int maxnum)(包含標頭檔案#include )
cin.getline()函式可以同cin.get()函式類似,也可接收空格,遇回車結束輸入。
int main()
{ char st[50];
cin.getline(a,50);
cout<6. 字串型別轉換為字元陣列
(a)c_str()
char p[50];
string str="i love ningbo!";
strcpy(p,str.c_str());
printf("%s",p);
(b)data()
char p[50];
string str="i love ningbo!";
strcpy(p,str.data());
printf("%s",p);
C 如何輸入含空格的字串
c 如何輸入含空格的字串 1 scanf函式 包含標頭檔案 include scanf函式一般格式為scanf s st 但scanf預設回車和空格是輸入不同組之間的間隔和結束符號,所以輸入帶空格,tab或者回車的字串是不可以的。解決方法如下 1 利用格式符 它的作用為掃瞄字元集合。scanf c ...
C 輸出格式控制 輸入含空格的字串
int n printf 010d n 即可。其中10表示寬度,0表示前面添充0。c語言中,可以用gets函式來接收輸入的字串 包含空格 格式 gets 字元陣列名 功能 gets函式用於將輸入的字串內容存放到指定的字元陣列中,輸入結尾的換行符 n 被換成 0 儲存在該陣列中。舉例說明如下 1 2 ...
scanf讀取含空格的字串
scanf 函式接收輸入資料時,遇以下情況結束乙個資料的輸入 遇空格 回車 跳格 鍵。遇寬度結束。遇非法輸入。scanf接收包含空格的字串 include int main 輸入 i love you 輸出 i 原因 scanf遇空格結束讀取。解決 include int main 輸入 i lov...