首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-09-10 
求教sprintf这个函数这个函数的第三个参数不能是string类型???比如string strkdfasprintf(sqlstr,INS

求教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类型的

热点排行