读书人

基础题解决方法

发布时间: 2012-04-07 17:31:52 作者: rapoo

基础题
char *c;
c=Edit1->Text.c_str();
char *i ;
i=Now().DateTimeString().c_str();
stream = fopen("log.txt", "w+");
fprintf(stream, "%s %s ",i , c);
为什么给i 赋值后c也指向了Now().DateTimeString().c_str();






[解决办法]
String对象的.c_str()返回值是不确定的,严重不建议将.c_str()返回的字符串指针赋给其他的指针再使用。

改成:

C/C++ code
stream = fopen("log.txt", "w+");fprintf(stream, "%s %s ", Now().DateTimeString().c_str(), Edit1->Text.c_str();); 

读书人网 >C++ Builder

热点推荐