2016-02-20 70 views
1

記錄集進入附加的字符串,當我需要追加使用SQLite記錄集列條目的字符串,我用這個錯誤與sqlite的

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

,但我不斷收到此錯誤。

error: invalid operands to binary +

我在做什麼錯?

回答

1

在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長度足以容納最終輸出(連接字符串)正確。

+0

我希望它像在C#中更容易或Java :) BTW我已經編輯你的答案來修復錯誤。 – techno

-2

@ sourav,你需要複製「名」,

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

這是試圖回覆[這個其他答案](http://stackoverflow.com/a/35519589/1364007),並不是本身的答案。 –

+1

這不是一個答案。與您以前的評論爲答案一樣,提交非答案不適用於避開評論的評論限制。請閱讀[答案]和[幫助]。 – Magisch