請問 AnsiString 和 Cha r有何不同呢? |
答題得分者是:taishyang
|
wena
一般會員 發表:26 回覆:37 積分:12 註冊:2005-07-20 發送簡訊給我 |
請問:
我寫的程式中有一行宣告
AnsiString temp = RichEdit1->Lines->Strings[row]; 到下面時又寫
temp = temp.SubSring(1,col-1) + "%" + MaskEdit1->Text + temp.SubString(no,temp.Length()-(no-1)); 在run的時候它告訴我一個Error
就是'SubString' is not a member of 'AnsiString' 後來我在另外的討論串裡發現某一位會員說
strin是char陣列,而不是AnsiString類別,所以沒有Substring的方法! 那 AnsiString 和 Cha r有何不同呢?
我該如何解決我的問題呢?
謝謝!
|
powmien
初階會員 發表:27 回覆:80 積分:41 註冊:2004-10-20 發送簡訊給我 |
你只要把char* 陣列轉成AnsiString 就可以了。 AnsiString 在傳統C語言中,字串的處理都是使用字元陣列,但那個結束字元(null terminated char)卻一直都令人很頭痛。試想,如果在C語言中的字串忘了加結束字元,會有什麼後果?而且在傳統C語言中所提供的字串處理函式,似乎也不是那麼的方便使用。 為此,BCB有一個很好的解決方案,就是使用AnsiString這個類別。AnsiString的原型宣告是放在dstring.h這個標頭檔中,我們可以在..\Include\VCL\這個目錄找到dstring.h。 AnsiString 建構函數:
__fastcall AnsiString();
__fastcall AnsiString(const char* src);
__fastcall AnsiString(const AnsiString& src);
__fastcall AnsiString(const char* src, unsigned char len);
__fastcall AnsiString(const wchar_t* src);
__fastcall AnsiString(int src);
__fastcall AnsiString(double src); AnsiString 的其它成員函數:
char* __fastcall c_str() const;
int __fastcall Length() const;
friend AsiString __fastcall operator (const char* lhs, const AnsiString& rhs);
int __fastcall Pos(const AnsiString& subStr) const;
void __fastcall SetLength(int newLength);
static AnsiString __fastcall StringOfChar(char ch, int count);
AnsiString __fastcall SubString(int index, int count) const;
AnsiString __fastcall UpperCase() const;
AnsiString __fastcall LowerCase() const;
bool __fastcall IsEmpty() const;
int __fastcall ToInt() const;
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
引言: temp = temp.SubSring(1,col-1) "%" MaskEdit1->Text temp.SubString(no,temp.Length()-(no-1)); 在run的時候它告訴我一個Error 就是'SubString' is not a member of 'AnsiString'不知是不是筆誤 temp = temp.SubSring(1,col-1) "%" MaskEdit1->Text temp.SubString(no,temp.Length()-(no-1)); temp = temp.SubString(1,col-1) "%" MaskEdit1->Text temp.SubString(no,temp.Length()-(no-1)); |
wena
一般會員 發表:26 回覆:37 積分:12 註冊:2005-07-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |