我不使用C太多,所以這是困擾我。如何從unsigned char數組寫入數據,該數組有NULL?
我有一些數據(較大結構的一部分,類型爲unsigned char[255]
),我需要發送TCP/IP上。我無法控制的格式,我得到的數據
數據的小樣本:
[0] 114 'r' unsigned char
[1] 44 ',' unsigned char
[2] 0 '\0' unsigned char
[3] 68 'D' unsigned char
[4] 85 'U' unsigned char
[5] 255 'ÿ' unsigned char
[6] 128 '€' unsigned char
[7] 128 '€' unsigned char
的數據是由'|'
分割其他的一些信息前綴,所以我嘗試寫的所有將信息發送到緩衝區,也可以使用第三方軟件發送未簽名的信息。
什麼問題似乎是數據具有'\0'
,它出現與任何方式將其寫入緩衝區弄亂。
我已經嘗試迭代數組,獲取每個字符並嘗試將strcat
字符緩衝區,它只適用於非'\0'
字符。
我已經嘗試過strcat
整個數組,當它到達'\0'
因此,任何幫助或在正確的方向一推,將不勝感激這也將停止對。
使用'memcpy_s'或'memmove_s'而不是'strcpy','strcat'和朋友。 – jww 2015-03-02 13:02:07