1
A
回答
1
如果字符串爲null-terminated,你可以簡單地使用:
std::cout << PEFile->ExportTable.pNames[i] << std::endl;
(使用std::wcout
如果UNICODE
定義和pNames[i]
是LPCWSTR
。)
如果既沒有空終止符也沒有字符串長度,那麼你就搞砸了!
2
這是一個有點難以解釋,因爲它的曖昧,但是......
如果.pNames本身就是一個空終止字符數組(C-字符串)或C++字符串,只是做:
std::cout << (DWORD*)PEFile->ExportTable.pNames;
如果.pNames [i]是一個空終止字符數組(C字符串),只是做:
std::cout << (DWORD*)PEFile->ExportTable.pNames[i];
如果它是一個非空terimnated字符數組,你不知道大小, 你有麻煩了。
如果你有字符數組的大小,但它不是以null結尾,你可以迭代它並打印。 std::copy(PEFile->ExportTable.pNames[i], PEFile->ExportTable.pNames[i] + length, std::ostream_iterator<char>(std::cout, ""));
會在一行中爲你做到這一點。
+1
請注意,轉換爲DWORD *可能需要打印字符串的地址,而不是其內容。 –
0
如果你是認真的爲C,而不是C++:
printf("%s", PEFile->ExportTable.pNames[i]);
相關問題
- 1. 打印指針地址
- 2. 使用C中的字符指針打印字符串
- 3. 獲取指針字符指針的地址字符指針
- 4. c指針指向的數組的打印地址
- 5. 使用指向字符的指針打印字符數組。
- 6. 從二維數組打印字符串使用指針指針
- 7. 從字符指針打印字符
- 8. 打印C指針
- 9. 使用帶指針的putch打印字符串C
- 10. 無法在C++中打印指針的地址
- 11. 在C中打印指針地址[兩個問題]
- 12. 如何在C++中打印方法指針的地址?
- 13. C:瞭解指針,打印地址失敗
- 14. 使用另一個指針指向地址的指針C
- 15. 打印字符串流輸出指針
- 16. 指針的C++打印值
- 17. 用指針指向某個地址c#
- 18. 用指針打印
- 19. 字符指針的地址變化
- 20. C指針和地址
- 21. C++指針地址解釋
- 22. Objective-C指針地址
- 23. 函數指針地址(C++)
- 24. C++中的指針地址
- 25. C++:指針值地址
- 26. C++地址和指針
- 27. C指針,指針,字符
- 28. C++ - 使用指針,打印地址而不是值,爲什麼? (使用運算符)
- 29. Lua中字符串的打印地址
- 30. 字符數組的打印地址
這實際上是一個指向'DWORD'。 'PEFile-> ExportTable.pNames'的類型是什麼? –