MFC的CByteArray、CString类完成动态字节数组使用
[复制链接]
在C语言中,经常定义一个这样的数组:
1. //-------------------------------------------- 2. // 使用CString 的对无符号字节的存取 3. //-------------------------------------------- 4. // 写入 5. CString buf1; 6. buf1 += (unsigned char)0x01; 7. buf1 += (unsigned char)0x02; 8. buf1 += (unsigned char)0x10; 9. buf1 += (unsigned char)0xFF; 10. 11. 12. //读取 13. printf("%d\n", buf1.GetLength()); 14. CString str; 15. CString str1; 16. for (int i=0; i 17. { 18. unsigned char x = (unsigned char)buf1; 19. str.Format("%02x ", x); 20. str1 += str; 21. } 22. AfxMessageBox(str1); 23. 24. 25. //-------------------------------------------- 26. // 使用CByteArray 对无符号字节的存取 27. //-------------------------------------------- 28. //写入 29. CByteArray arry; 30. arry.Add(0x41); 31. arry.Add(0x00); 32. arry.Add(0xFF); 33. arry.Add(0x22); 34. 35. //读取 36. str1.Empty(); 37. for (i=0; i 38. { 39. unsigned char x = (unsigned char)arry; 40. str.Format("%02x ", x); 41. str1 += str; 42. } 43. AfxMessageBox(str1);
CByteArray用起来比较直观,不说了;使用CString时,不管是读取或者写入,一定注意使用(unsigned char)转型。这也算是CString的另外一个用法吧。
|