請問關於String形態的問題 |
答題得分者是:Windyboy
|
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
小弟只對C 有些基礎的學習
以前沒看過String型態
現在到了BCB第一次看到String型態 想請問一下各位
今天要是我寫
String str1="1234567"
char str[20]="abcd"; 若是我在之後寫
str1=str ->此結果應該是會得到str1變成"abcd"這字串吧
str1="1234" ->此結果應該是str1被修改成"1234"這字串
但是
str1=str " " ->卻是編譯錯誤,無法顯示"abcd "
得寫成
str1=str1 str " " ->才能編譯,但是答案卻是"1234567abcd " 這是為何呢?
當我要用相加的狀況時,一定得加上本來的str1字串嗎
我講的有些亂
請各位大大解答一下
謝謝~
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
Hi xdio2: 你可能誤解String了,它是一個class唷, 不是你一般使用的char test[10]這樣的一個字串, >>>>str1=str " " ->卻是編譯錯誤,無法顯示"abcd " 這是因為str 跟 " " 都是Point不能使用 "=" 這個operator >>>>str1=str1 str " " ->才能編譯,但是答案卻是"1234567abcd " 這是因為運算是由左至右的原因, str1 str 型態會改為AnsiString, 再加上" "也不會出錯,因為AnsiString這個class有做與string point相加的功能 建議你先去查一下BCB的Help Keywork = AnsiString 多了解一下再來使用它,就會發現它有多便利。 --------------------------
~天下本無事 庸人自擾之~
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |