BCB 格式化字符串求教
需要格式化一个字符串到一个String中。我目前的做法是
char ptest[1024];
sprintf(ptest,"some format");
AnsiString str(ptest)
这种方式,感觉怪怪的。有没有直接定义一个String类,然后直接str.sprintf()来格式化这个str类的?
我写str.sprintf("some format"),会提示“Cannot convert 'char' to const wchar_t”
哪位能指点一下?或者给个sample让我学习一下,多谢多谢。
[解决办法]
sprintf
int i =11111;
AnsiString s;
s.sprintf("%d",i);
ShowMessage(s);
================
Format
// ARRAYOFCONST 是个cb预定义的宏
//#define ARRAYOFCONST(values) OpenArray<TVarRec>values, OpenArrayCount<TVarRec>values.GetHigh()
AnsiString s = Format("My name is %s, I'm %d years old.",
ARRAYOFCONST(("Phoenix2000", 22)) );
ShowMessage(s);
[解决办法]
如果使用AnsiString,那么这样:
AnsiString str = AnsiString().sprintf("%d", a + b);
如果使用UnicodeString,那么这样:
UnicodeString str = UnicodeString().sprintf(L"%d", a + b);