介紹一下 c_str()的用法:
c_str()
是將一個 AnsiString 的字串轉換成以NULL結尾的字串。一般在 C++ builder 中所通用的字串形式是以 AnsiString 的方式,但是有時候如想使用 win api時,就要以此方式來使用了。
另外,如想以"C"型態的字串轉換成AnsiString的話,可用StrPas的function來轉換。
String str="ABCDE";
char cStr[20];
strcpy(cStr, Str.c_str());
Str = StrPas(cStr);
c_str() 簡而言之~
功能:將String物件轉換成C語言形式的字串常數。
使用格式:
const char* c_str() const;
說明:
c_str() 演算法會把string物件轉換成C語言形式的字串常數,由於轉換之後的字串已經變成常數,因此無法再任意更改。若有特殊原因必須更改字串常數時,應先把字串常數儲存到緩衝區(buffer)之後再予以更改。
(或使用 StrPas() function)
範例:
// strings and c-strings
#include (iostream) <===此括號,請依平時撰寫程式時使用<>劍號
#include (cstring)
#include (string)
using namespace std;
int main()
{
char *cstr, *p;
string str("Please split this phrase into tokens");
cstr = new char[str.size()+1];
strcpy(cstr, str.c_str());
// cstr now contains a c-string copy of str
p = strtok(cstr, " ");
while(p!=NULL) {
cout <<>
p = strtok(NULL, " ");
}
delete[] cstr;
return 0;
}
沒有留言:
張貼留言