unsigned char *如何转为AnsiString
有一小程序为:
unsigned char * source = new unsigned char[20];
source = "hello world! ";
AnsiString dest;
如何将source转为dest,并ShowMessage(dest)
谢谢大家了
[解决办法]
dest.sprintf( "%s ",source);
dest.SetLength(12);
[解决办法]
既然SetLength为何不提前!
[解决办法]
AnsiString dest = source;
[解决办法]
source = "hello world! ";这句有问题吧
strcpy(source, "hello world! ");才对吧
[解决办法]
1、source = "hello world! ";造成内存泄露。
2、应该用char*而不是unsigned char*.
3、可以直接用=,AnsiString dest = source;
4、ShowMessage可以自动将参数由char*转为AnsiString.
所以下列代码均可,楼上用sprintf的方法也可以。
1、
unsigned char* source = "hello world! ";
AnsiString dest = (char*)source;//AnsiString dest((char*)source);也可以
ShowMessage(dest);
2、
unsigned char* source = "hello world! ";
ShowMessage((char*)source);