記錄集進入附加的字符串,當我需要追加使用SQLite記錄集列條目的字符串,我用這個錯誤與sqlite的
char a[16]=(unsigned char *)"Name: "+(unsigned char *)rs.recordset[0][1];
,但我不斷收到此錯誤。
error: invalid operands to binary
+
我在做什麼錯?
記錄集進入附加的字符串,當我需要追加使用SQLite記錄集列條目的字符串,我用這個錯誤與sqlite的
char a[16]=(unsigned char *)"Name: "+(unsigned char *)rs.recordset[0][1];
,但我不斷收到此錯誤。
error: invalid operands to binary
+
我在做什麼錯?
在C中,+
符號不連接字符串。
按照該標準C11
,章§6.5.6,加法運算符
For addition, either both operands shall have arithmetic type, or one operand shall be a pointer to a complete object type and the other shall have integer type.[..]
如此,+
不連接兩個串。
您需要使用strcat()
加入兩個字符串。
喜歡的東西
char a[16] = {0};
strcat(a, "name");
strcat(a, rs.recordset[0][1]);
應該爲你做這項工作,提供的a
長度足以容納最終輸出(連接字符串)正確。
@ sourav,你需要複製「名」,
char a[16]=0;
strcpy(a,"name");
strcat(a, rs.recordset[0][1]);
這是試圖回覆[這個其他答案](http://stackoverflow.com/a/35519589/1364007),並不是本身的答案。 –
這不是一個答案。與您以前的評論爲答案一樣,提交非答案不適用於避開評論的評論限制。請閱讀[答案]和[幫助]。 – Magisch
我希望它像在C#中更容易或Java :) BTW我已經編輯你的答案來修復錯誤。 – techno