這是該方案;C++ COUT uncasted存儲器(無效)
// I have created a buffer
void *buffer = operator new(100)
/* later some data from a different buffer is put into the buffer at this pointer
by a function in an external header so I don't know what it's putting in there */
cout << buffer;
我想打印出在這個指針放在緩衝區中看到了什麼數據。我想只是把它打印出來作爲原料ASCII,我知道會有一些非打印那裏的人物,但我也知道一些清晰的文字被推到了那裏。
從我在網上看了cout
上不能打印出uncasted數據像void
,而不是一個int
或char
。但是,編譯器不會讓我在飛行中使用(char)
進行飛行。我應該創建一個單獨的變量,將指針的值轉換爲cout
該變量,或者有什麼辦法可以直接保存另一個變量?
任何理由不創建緩衝區爲char *如果這是你存儲在它是什麼?字符*幾乎是普遍的爲void *,你至少可以打印出來 –
@EdHeal LMAO TRULY – johnathon
@MartinBeckett因爲調用的外部函數需要void * – jwbensley