C语言 从 Sqlite 追加带有记录集条目的字符串时出错



我需要附加一个带有 sqlite 记录集列条目的字符串,我用这个

char a[16]=(unsigned char *)"Name: "+(unsigned char *)rs.recordset[0][1];

但是我一直收到此错误。

错误:二进制+的操作数无效

我做错了什么?

在 C 中,+符号不连接字符串。

根据C11标准第 §6.5.6 章,添加剂运算符

对于加法,两个操作数都应具有算术类型,或者一个操作数应为 指向完整对象类型的指针,另一个应具有整数类型。[..]

因此,+不会连接两个字符串

您需要使用 strcat() 来连接两个字符串。

类似的东西

char a[16] = {0};
strcat(a, "name");
strcat(a, rs.recordset[0][1] );

应该为您完成这项工作,前提是a的长度足以正确保存最终输出(串联字符串)。

@

sourav,你需要复制"name",

    char a[16]=0;
    strcpy(a,"name");
    strcat(a, rs.recordset[0][1]);