在c++中輸入字串的五種方法:
1、cin
1、cin.get()
2、cin.getline()
3、getline()
4、gets()
5、getchar()
具體用法:
1、cin>>
#include
using
namespace
std;
main ()
cout
cout
<<"輸出m["
<"]的值:"
《請輸入第1個字串:
kskr1
請輸入第2個字串:
kskr2
請輸入第3個字串:
kskr3
輸出m[0]的值:kskr1
輸出m[1]的值:kskr2
輸出m[2]的值:kskr3
4、getline() // 接受乙個字串,可以接收空格並輸出,需包含「#include」
#include
#include
using
namespace
std;
main ()
{string str;
getline(cin,str);
cout
《輸入:jkljkljkl //vc6中有個bug,需要輸入兩次回車。
輸出:jkljkljkl
輸入:jkl jfksldfj jklsjfl
輸出:jkl jfksldfj jklsjfl
和cin.getline()類似,但是cin.getline()屬於istream流,而getline()屬於string流,是不一樣的兩個函式
5、gets() // 接受乙個字串,可以接收空格並輸出,需包含「#include」
#include
#include
using
namespace
std;
main ()
{char m[20];
gets(m); //不能寫成m=gets();
cout
《引用塊內容
輸入:jkljkljkl
輸出:jkljkljkl
輸入:jkl jkl jkl
輸出:jkl jkl jkl
類似cin.getline()裡面的乙個例子,gets()同樣可以用在多維陣列裡面:
#include
#include
using
namespace
std;
main ()
{char m[3][20];
for(int i=0;i<3;i++)
{cout
<<"\n請輸入第"
<1
<<"個字串:"
cout
<<"輸出m["
<"]的值:"
《請輸入第1個字串:
kskr1
請輸入第2個字串:
kskr2
請輸入第3個字串:
kskr3
輸出m[0]的值:kskr1
輸出m[1]的值:kskr2
輸出m[2]的值:kskr3
自我感覺gets()和cin.getline()的用法很類似,只不過cin.getline()多乙個引數罷了;
這裡順帶說明一下,對於本文中的這個kskr1,kskr2,kskr3的例子,對於cin>>也可以適用,原因是這裡輸入的沒有空格,如果輸入了空格,比如「ks kr jkl[回車]」那麼cin就會已經接收到3個字串,「ks,kr,jkl」;再如「kskr 1[回車]kskr 2[回車]」,那麼則接收「kskr,1,kskr」;這不是我們所要的結果!而cin.getline()和gets()因為可以接收空格,所以不會產生這個錯誤;
6、getchar() //接受乙個字元,需包含「#include」
#include
using
namespace
std;
main ()
{char ch;
ch=getchar(); //不能寫成getchar(ch);
cout
《輸入:jkljkljkl
輸出:j
//getchar()是c語言的函式,c++也可以相容,但是盡量不用或少用;
**
C 中字串輸入
1 使用cin輸入字串的相關問題 1.1 cin 使用空白 空格 製表符和換行符 來定字串的界 這意味著cin在獲取字元陣列輸入時只讀取乙個單詞,在讀取該單詞後,cin將該字串放到陣列中,並自動在結尾新增空字元。這樣,後乙個字串將不會輸入到陣列中。1.2 當輸入字串可能比目標陣列長時,將不能防止例如...
c 字串輸入
知道好多人初學者會像我一樣看不懂那些長篇的輸入介紹 也不想看 這裡有直接的 寫法!以前只會用gets 結果它被c 11標準給刪了,洛谷裡用不了。因為用得少記不住,每次都得去查一遍,這裡就直接列幾個我已知的字串的輸入方法,注意事項寫在注釋,初學應該是足夠用了,後續會不斷補充。當然cin也可以 讀到空格...
C 字串輸入
1.使用cin輸入 char a 20 cin a 遇到空字元就停止輸入,即只能輸入單個單詞。2.使用getline輸入 char a 20 cin.getline a,20 該函式有兩個引數,第乙個是陣列的名稱,第二個是要讀取的字元數。遇到換行符或者讀取完指定數目的字元停止讀取。在儲存字串時,用空...