我需要附加一个带有sqlite记录集列条目的字符串,我使用这个
char a[16]=(unsigned char *)"Name: "+(unsigned char *)rs.recordset[0][1];
但我一直收到这个错误。
错误:二进制
的操作数无效+
我做错了什么?
答案 0 :(得分:1)
在C中,+
符号不会连接字符串。
根据C11
标准,章节§6.5.6,添加剂运算符
另外,两个操作数都应具有算术类型,或者一个操作数应为a 指向完整对象类型的指针,另一个指针应具有整数类型。[..]
因此,+
不会连接两个字符串。
您需要使用strcat()
加入两个字符串。
像
这样的东西char a[16] = {0};
strcat(a, "name");
strcat(a, rs.recordset[0][1] );
应该为你完成这项工作,前提是,a
的长度足以正确保存最终输出(连接字符串)。
答案 1 :(得分:-2)
@ sourav,你需要复制" name",
char a[16]=0;
strcpy(a,"name");
strcat(a, rs.recordset[0][1]);