在C語言中如何實現用鍵盤輸入一個字符串,并打印出來?
有三個基本實現,更不用說高級實現技巧了。
第一種類型:printf(#34%s#34,strSrc)
第二種:看跌期權
第三種:(或用while,原理相同)intIfor(i0Iltstrlen(strsrc)I)printf(#34%c#34,strsrc[i])根據情況選擇使用。
C語言string怎么用?
#包含ltstdio.hgt
voidmain(){
字符串單詞#34#34
Printf(#34請輸入任意字符串并按回車鍵結束。
#34)
scanf(#34%s#34,ampwords)
printf(#34%s#34,words)
}
在網絡上看到一段這樣的代碼,作者在C語言的編輯器里編輯了一下,但是不能t通過。后來才知道C語言只有字符串文件,沒有字符串類型。當然也可能有版本的原因。
c語言string類的常用方法?
C字符串類的常用方法
(constchar*s):將string對象初始化為s指向的字符串。
字符串str(#34hello#34)
一個
一個
(size_typen,charc):創建一個包含n個元素的string對象,其中每個元素都初始化為字符c。
字符串str(10,#39a#39)
(conststringampstr):將string對象初始化為string對象str(復制構造函數)。
字符串str(#34abcde#34)
字符串str2(str)
():創建一個長度為0的默認string對象(默認構造函數)。
字符串str
5.使用C語言樣式字符串來處理字符串對象。
字符串str#你好!#34
6.獲取字符串對象的長度,C語言中使用strlen()獲取字符串的長度,C語言中使用()或str.length()。
字符串str(#34hello!#34)
intlen1()
intlen2str.length()
7.將一個字符串對象賦給另一個字符串對象。
字符串str(#34hello!#34)
字符串str2
str2海峽
8.字符串對象的拼接
在C語言中,strcat和strncat函數用于拼接字符串。在C語言中,可以采用以下方法:
字符串str1(#34hello#34)
字符串str2(#34世界#34)
字符串str3str1str2
9.用于將字符串對象、字符和C樣式字符串追加到字符串對象。
字符串str(#34hello#34)
字符串str2(#34世界#34)
strstr2
字符串#39a#39
str#34abcd#34
10、()函數,在string對象后添加一個string對象或C風格的字符串。
字符串str(#34hello#34)
字符串str2(#34世界#34)
(str2)
(34abcd#34)
_back()函數向string對象追加一個字符。
字符串str(#34hello#34)
charch#39a#39
str.push_back(ch)
12.對于字符串對象的比較,可以直接使用關系運算符。
字符串str1(#34abcd#34)
字符串str2(#34abcd#34)
if(str1str2)
tbreak
13、字符串對象的比較也可以使用()方法。
intcompare(conststringampstr)const
intcompare(size_tpos,size_tlen,conststringampstr)const
intcompare(size_tpos,size_tlen,conststringampstr,size_tsubpos,size_tsublen)const
intcompare(constchar*s)const
intcompare(size_tpos,size_tlen,constchar*s)const
intcompare(size_tpos,size_tlen,constchar*s,size_tn)const
//示例
字符串str1(#34he世界排名第34位)
字符串str2(#34你好男孩#34)
(6,3,str2,6,3)
14.使用()函數獲取子字符串。
字符串str(#34hello#34)
字符串str2(3,2)
15.訪問字符串string的元素
字符串str(#34hello#34)
coutltltstr[2]ltltendl
coutltlt(2)ltltendl
16.使用()方法查找字符。
//從字符串的pos位置開始(如果沒有指定pos的值,默認從索引0開始)查找子串str。
//如果找到,返回子串第一個字符第一次出現時的索引;否則返回字符串::NPOs:
string類將npos定義為保證大于任何有效下標的值。
size_typefind(conststringampstr,size_typepos0)const
size_type查找(constchar*s,size_typepos0)常量
size_typefind(constchar*s,size_typepos,size_typen)
size_type查找(charch,size_typepos0)常量
()的方法類似于()的方法,但搜索順序不同。string.rfind()從指定的位置pos(默認為字符串的結尾)向前搜索到字符串的開頭,并在第一次找到匹配項的第一個字符時返回該字符的索引。換句話說,就是找到子串或字符的最后一次出現。
18._first_of()方法從字符串中的指定位置開始,向后(默認情況下索引為0)查找參數中任何字符第一次出現的位置。
字符串str(#34helloworld#34)
intpos_first_of(#34abcde#34)
Intpos_first_of(#34abcde#34,1)//第二個參數是位置。
19._last_of()方法在字符串中查找參數中任何字符的最后一個出現位置。
20、_first_not_of()方法查找字符串中的第一個not。參數中包含的字符
21._last_not_of()方法查找字符串中不包含在參數中的最后一個字符。
22、使用()進行插入操作。
stringamp插入(size_tpos,conststringstr)
//在位置pos處插入字符串str。
stringampinsert(size_tpos,conststringstr,size_tsubpos,size_tsublen)
//從位置pos的位置subpos開始插入字符串str的子len字符。
stringampinsert(size_tpos,constchar*s)
//在位置pos插入字符串s。
stringampinsert(size_tpos,constchar*s,size_tn)
//在位置pos處插入字符串S的前n個字符。
stringampinsert(size_tpos,size_tn,charc)
//在位置pos插入n個字符c。
迭代器插入(const_iteratorp,size_tn,charc)
//在p處插入n個字符c,返回插入迭代器的位置。
迭代器插入(常量迭代器p,字符c)
//在p處插入字符c,插入后返回迭代器的位置。
23.使用()刪除元素。
Stringamplify(size_tpos0,size_tlenNPOs)//從pos開始刪除n個字符。
迭代器erase(const_iteratorp)//刪除p處的一個字符,并返回被刪除迭代器的位置。
迭代器erase(const_iteratorfirst,const_iteratorlast)//刪除第一個到最后一個字符,返回被刪除迭代器的位置。
24.使用getline()函數獲取字符串輸入。
字符串str
getline(cin,str)
25.使用string.empty()函數判斷單詞。字符串是空的嗎?
26.使用string.swap()函數交換兩個字符串。
字符串str1#34hello#34
字符串str2#34HELLO#34
str1.swap
27.()獲取或修改字符串的最后一個字符。
字符串str(#34abcd#34)
字符b()
()#39e#39
28.()獲取或修改字符串的第一個字符。
_back()刪除字符串的最后一個元素。