1樓:匿名使用者
直接取就可以了。例如:
string name="hello";
name[0];//這裡name[0]就是第一個字元'h'
2樓:滄海雄風
dpress any key to continue#include
#include
using namespace std;
main()
3樓:匿名使用者
/* strcpy.c: this program uses strcpy
* and strcat to build a phrase.
*/#include
#include
void main( void )
output
string = hello world from strcpy and strcat!
在c++語言中 定義一string型別的字串 如何取字串中的一個字元
4樓:匿名使用者
string str = "123456789" ;
if(str.length() >=5)
使用substr一定要判斷否則程式會越界!
5樓:高興的傑叔
用字元指標 指向該字串 此時指標指向字串的首地址,然後利用指標的移動取字串中的字元
6樓:匿名使用者
#include
#include
using namespace std;
int main()
7樓:匿名使用者
可以將string型別的變數賦值給char陣列,如string str=「asfd」;char ch=str;用陣列下標就可以取值了
8樓:諸天弒神
利用陣列s[i]取第i-1個字元
9樓:匿名使用者
s.c_str[i]
c++,定義了一個string類的物件陣列,怎麼訪問陣列中第5個元素物件中的第3個字元?
10樓:du知道君
c++示例:
#include
#include
using namespace std;
int main()
;cout<
return 0;
}執行結果:q
c++中string和char定義的字串和字元陣列的區別,在用時是不是一樣的?
11樓:司馬刀劍
明確一下:
你說的char是c++的內建型別char麼你說的string是標準庫中定義的類麼
如果是的話,它兩的區別有:
char陣列僅僅是儲存字串用的,c庫中有一系列操作字串的函式string是類,它包含一個可變長度的char陣列,封裝了常用的字串操作函式
它們之間可以轉化
12樓:匿名使用者
不一樣的,string是一個以上的char組成,最後一位還又字串結束符\n
string,可以儲存,單詞句子,
char只能儲存字母,字元等一位的符號
13樓:最大的_大寶寶
string是一個類,一個模板類,有些c++的書可能會介紹這個類,可以重點學一下
在c++裡如何輸入一個string類的字串,我定義的是字串變數string str,比如輸入c a s t中間有空格呀
14樓:匿名使用者
char *到string類可以直接用=,因為string類過載了=操作符,而且提供了以char *為源的拷貝建構函式.
但string到char *就不能用=了,string類的c_str()函式可以返回它的字串的首地址,你可以用如下方法將string賦給char *.
#include
using namespace std;
void main()
15樓:匿名使用者
#include
using namespace std;
int main()
{string str1;
char str2[20];
int l1,l2;
getline(cin,str1);//輸入l1=str1.length();//計算字串長度gets(str2);//輸入
l2=strlen(str2);//計算字串長度cout<<"str1: "<慢體會……
16樓:匿名使用者
如果你用cin>>或scanf()函式的話,遇到空格會返回;
如果你用gets()函式的話,遇到空格就不會返回了,遇到回車才返回;
gets()格式:
char *p;
gets(p);
那麼字串就以p為首地址存放,記得給p分配足夠的空間就好。
17樓:鄭誠的祕密
如果是一個字元型陣列的話,可以用cin.getline(str,100);
但是如果是string類的字串,由於string類字串不指定長度的,因此不能用這條語句。
應該直接用cin>>str;但是string類不能存放多個字串,也就是說中間不能有空格,要輸入 c a s t這樣的建議使用字元型陣列或者字元型指標,然後用cin.get(str,100).get();或分開寫,cin.
get(str,100);cin.get();
這樣輸入,老式編譯器不支援不帶引數的get(),可以用char ch;get(ch);來代替cin.get();
18樓:匿名使用者
補充1樓的, 宣告p的時候可以用
char p[100]; 這樣免除使用動態記憶體
c++用字元陣列給string 陣列中某一個string賦值問題
19樓:止語
p1[0](ch1): 在沒有適當 operator() 的情況下呼叫類型別的物件或將函式轉換到指向函式的型別。
p1[0]=ch1;執行正常,沒有問題。
20樓:匿名使用者
char ch1 =;這個地方可能有錯,char陣列的元素是單個字元,ch是兩個字元。
c++題目 字串類的設計 一、定義點字串(string)類,包含存放字串的字元陣列和字串 10
21樓:匿名使用者
#include
#include
using namespace std;
class student
void setname(char na[ ])};class userdatabase
void add_record(char *nu,char *na);
};void userdatabase::add_record(char *nu,char *na)
int main()
return 0;
c++中如何將一個string類物件裡的字串完整賦值給一個字元型的陣列?
22樓:匿名使用者
string s="dsafjsakfas";
int ilen=s.length();//得到字串的長度char *s1=new char[ilen+1];
for(int i=0;i可以像字元陣列一樣直接訪問下標為i 的字元//知道這點你應該就知道怎樣做了.
}si[i]='\0';
大致就這樣,自己寫的,沒有複製貼上
23樓:匿名使用者
#include
#include
using namespace std;
void main()
c++中的char定義的陣列和string的字串有什麼區別啊?
24樓:匿名使用者
明確一下:
你說的char是c++的內建型別char麼你說的string是標準庫中定義的類麼
如果是的話,它兩的區別有:
char陣列僅僅是儲存字串用的,c庫中有一系列操作字串的函式string是類,它包含一個可變長度的char陣列,封裝了常用的字串操作函式
它們之間可以轉化
25樓:匿名使用者
你問的陣列問題的話。不知道我的解釋你感覺怎麼樣。
在資料結構的課程裡。
char型的陣列是這樣的:
char[0] = 'a' char[1] = 'b'
而string[0] = "asdasdasd" string[1] = "asdasdasd"
這樣的解釋應該有助於你的理解
26樓:匿名使用者
對於char陣列
:#include
int main()
執行結果:
www**q
a=www
b=**q
a大於b
press any key to continue二者的區別在於:在char陣列中 輸入www回車,輸入**q回車 即可完成輸入,程式執行
在string物件中 輸入www回車,輸入**q回車,還要再輸入一個回車才能完成輸入
回車傳送資料到程式中,getline替換回車為'\0' ,寫字串難道不是這樣嗎?
為什麼後者還要多輸入一次回車呢??
27樓:匿名使用者
一個是 's'
一個是 "s"
就這點區別
28樓:圭帆召胤
都沒有說到重點,
char
是值型別!
string
是引用型別!這個可是本質的區別。
string可以被例項化,而char不可以。
c中string是否以0表示字串結束
stl的string也是已 0 作為字串結束標誌。str hello 0 0world str的值是 hello 0 如果你cout str 這樣輸出的結果確實為hello,後面的內容輸出不來,但是仍然存在的。你仍然可以通過str 6 這種方法得到。補充 如果str是string則不是這樣,後面的東...
c 類裡定義的字元型陣列const char a
有多種方式可以賦值。1 宣告和初始化同時進行,例如 const char a 5 2 把它看成字串,用636f707962616964757a686964616f31333337616535 strcpy 賦值,例如 strcpy a,abcde 3 用 memcpy 把另一個陣列裡的值傳給它 me...
C編寫程式在字元陣列中查詢指定的字元,若陣列中有蓋
include include void main if i strlen ch printf 1 n 在一個字元陣列中查詢一個指定的字元,若陣列中含有該字元,則輸出該字 符在陣列第一次出現的位置 下標值 include include include int main if i strlen s ...