读书人

求教sprintf这个函数,该如何解决

发布时间: 2012-09-10 11:02:32 作者: rapoo

求教sprintf这个函数
这个函数的第三个参数不能是string类型???

比如string str="kdfa";
sprintf(sqlstr,"INSERT INTO graduate VALUES('%s')",str);
这样就崩溃。。
但是如果是
sprintf(sqlstr,"INSERT INTO graduate(number) VALUES('%s')","kdfa");
这样又没有问题,请教怎么回事

[解决办法]
因为不能是string类型。。。

C/C++ code
     char sqlstr[100];    string str="kdfa";    sprintf(sqlstr,"INSERT INTO graduate VALUES('%s')",str.c_str());    cout<<sqlstr<<endl;
[解决办法]
探讨
这个函数的第三个参数不能是string类型???

比如string str="kdfa";
sprintf(sqlstr,"INSERT INTO graduate VALUES('%s')",str);
这样就崩溃。。
但是如果是
sprintf(sqlstr,"INSERT INTO graduate(number) VALUES('%s')","kdfa");
这样又没有问……

[解决办法]
探讨

int sprintf( char *buffer, const char *format [, argument] ... );

必须是C类型的字符串

[解决办法]
string是STL封装的

sprintf里面最好放char类型的

读书人网 >C++

热点推荐