sprintf_s使用时候报访问地址冲突

来源:互联网 发布:java开发工程师工资 编辑:程序博客网 时间:2024/06/04 19:03

在往数据库里写数据的时候遇到的

char tempstrDB[1024]={0};

pqsetClientEncoding(pcon,"GBK");

sprintf_s(tempstrDB,sizeof(tempstrDB),"insert into userinfo(username,password,secondname,sex,address,tel,email,department,registime) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')",username.c_str(),password.c_str(),secondname.c_str(),sex.c_str(),address.c_str(),tel.c_str(),email.c_str(),department.c_str(),registime.c_str());

后面的代码不写了。

在这里插入的变量都是string的,如果不.c_str() 就会报地址冲突,如果是char *就不用了,都知道为啥。

这里只是一种情况,其他会引起地址冲突的包括空指针,数组没有初始化等。



0 0
原创粉丝点击