我想複製C(Windows)中包含空值的字符串。我需要一個函數來傳遞緩衝區的長度,這樣NULL字符就沒有意義了。我發現StringCbCopy函數,但它仍然停在第一個NULL字符處。複製內部爲空的字符串
0
A
回答
14
由於您知道長度,請使用memcpy()
。
+1
+1正確。既然你沒有處理「以null結尾的字符串」,你不應該使用那些期望它們的函數。將「字符串」作爲內存緩衝區進行操作。 – tenfour 2011-02-14 17:48:45
0
應該很容易編寫自己的功能來做到這一點。如果您知道字符串的長度,只需創建一個具有指定長度的char []或char *,並逐個複製字符。
+1
或者不要,並且使用C89函數 - memcpy。 – 2011-02-14 18:05:13
1
這裏是代碼的快速比特,可以幫助:
char array1[5] = "test", array2[5];
int length = 5;
memcpy(array2, array1, length*sizeof(char));
//the sizeof() is redundant in this because each char is a byte long
//but it is useful if you are working with other datatypes
的memcpy可能會成爲這樣的情況下你最好的朋友。
相關問題
- 1. 我可以複製空字符串中的字符串嗎?
- 2. PHP傳遞字符串內部空間
- 3. 字符串內部的Java字符串
- 4. php5從字符串複製子字符串由空格分隔?
- 5. 使用Clipboard.SetText複製空字符串(字符串)
- 6. c字符串複製無法清空字符串
- 7. 從字符串複製空白字符串在Python
- 8. 如何複製部分字符串? C++
- 9. Java字符串[]部分複製
- 10. 如何將非空字符串複製到動態內存
- 11. 字符串內部結構的行爲
- 12. 將字符串內部的char字符串轉換爲lowerCase/upperCase
- 13. GSON反序列化字符串[]爲一個字符串內部的字符串
- 14. 串聯字符串複製()
- 15. 字符串內部的Java字符串到字符串
- 16. Excel複製字符間字符串的一部分
- 17. 在一個字符串複製一個字符,留下一個空字符串
- 18. 字符串爲空
- 19. 字符串爲空
- 20. 複製字符串中的字符
- 21. 字符串內的字符串內部的變量
- 22. JSON空字符串爲空
- 23. 字符串爲空或空
- 24. 定製JsonConverter可以decimal.MinValue轉換爲空字符串和背部
- 25. 因爲SQL字符串而複製值?
- 26. 將字符串的一部分複製到另一個C#中的字符串
- 27. 如何複製另一個字符串中的字符串的部分?
- 28. 的strcmp爲空字符串
- 29. 如何生成僅用於複製內部字符串的輸入字段?
- 30. 將字符串從字符串複製到字符串
通過字符串的定義,它由NUL分隔,除了終止符外,沒有NUL。 – user611775 2011-02-14 22:21:37