c/c++字符及字符串的輸入


(參看鏈接:https://blog.csdn.net/weixin_44307065/article/details/99683520)

一、字符輸入(定義char c)

函數

用法

說明

cin

cin>>c

不讀取空格以及換行,不會從流中去掉換行和空格

scanf

scanf(“%c,&c

可讀取換行和空格

cin.get()

c=cin.get()

cin.get(c)

cin.get()

可讀取換行和空格,可不賦值僅讀取一個字符

 

(常用於過濾流中換行)

getchar()

c=getchar()

getchar()

可讀取換行和空格,可不賦值僅讀取一個字符

(常用於過濾流中換行)

二、輸入字符數組輸入(定義char s[])

函數

用法

說明

cin

cin>>s

以換行和空格為結束標志,不讀取換行和空格,不會從流中去掉換行空格

scanf

scanf(“%s”,s

以換行和空格為結束標志,不讀取換行和空格,不會從流中去掉換行空格(注意變量列表中不帶&)

gets()

gets(s)

以換行為結束標志,可讀取空格,將換行從流中去掉

cin.get()

cin.get(s,n)

cin.get(s,n,c)

以換行為結束標志

以字符c為結束標志,當讀入的字符數超過n-1時也會結束(第n位補’\0’)可讀取空格,且不會將換行( c )從流中去掉

cin.getline()

cin.getline(s,n)

cin.getline(s,n,c)

以換行為結束標志

以字符c為結束標志,當讀入的字符數超過n-1時也會結束(第n位補’\0’)可讀取空格,將換行( c )從流中去掉

三、字符串輸入(定義string s)

cin

cin>>s

以換行和空格為結束標志,不讀取換行和空格,不會去掉換行空格

getline()

getline(cin,s)

getline(cin,s,c)

前者以換行為結束標志,后者以字符c為結束標志,可讀取空格,將換行( c )從流中去掉

 

值得注意的是,以換行為結束標志的函數在它開始讀入之前不能有換行否則會自動結束,這個時候要在之前加上getchar()去掉換行

四、cin、cin.get()、cin.getline()、getline()的區別

參看鏈接:https://blog.csdn.net/a3192048/article/details/80303547

C/C++輸入字符以及字符串

 

一、字符輸入(定義char c)

函數

用法

說明

cin

cin>>c

不讀取空格以及換行,不會從流中去掉換行和空格

scanf

scanf(“%c,&c

可讀取換行和空格

cin.get()

c=cin.get()

cin.get(c)

cin.get()

可讀取換行和空格,可不賦值僅讀取一個字符

getchar()

c=getchar()

getchar()

可讀取換行和空格,可不賦值僅讀取一個字符

二、輸入字符數組輸入(定義char s[])

函數

用法

說明

cin

cin>>s

以換行和空格為結束標志,不讀取換行和空格,不會從流中去掉換行空格

scanf

scanf(“%s”,s

以換行和空格為結束標志,不讀取換行和空格,不會從流中去掉換行空格

gets()

gets(s)

以換行為結束標志,可讀取空格,將換行從流中去掉

cin.get()

cin.get(s,n)

cin.get(s,n,c)

前者以換行為結束標志,后者以字符c為結束標志,當讀入的字符數超過n-1時也會結束(第n位補’\0’)可讀取空格,且不會將換行( c )從流中去掉

cin.getline()

cin.getline(s,n)

cin.getline(s,n,c)

前者以換行為結束標志,后者以字符c為結束標志,當讀入的字符數超過n-1時也會結束(第n位補’\0’)可讀取空格,將換行( c )從流中去掉

三、字符串輸入(定義string s)

cin

cin>>s

以換行和空格為結束標志,不讀取換行和空格,不會去掉換行空格

getline()

getline(cin,s)

getline(cin,s,c)

前者以換行為結束標志,后者以字符c為結束標志,可讀取空格,將換行( c )從流中去掉

值得注意的是,以換行為結束標志的函數在它開始讀入之前不能有換行否則會自動結束,這個時候要在之前加上getchar()去掉換行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM