[英]C++ Extended Ascii, and negative values
我正在嘗試從二進制文件中讀取一些值。 我逐字節讀取。 我只想將來自某個字符的每個 int 值存儲到一個緩沖區中,大小為文件中包含的字節數..所以我希望將 0 到 255 之間的值存儲在緩沖區中。 但有時我會收到一些負面影響..有誰知道如何解決這個問題? 我會很感激你的回應。
我希望將 0 到 255 之間的值存儲在緩沖區中。
這表明您想要unsigned char的值范圍。
但有時我會收到一些負面消息
這表明您正在讀取有符號值。 計算機不會做你沒有告訴它做的事情。 如果您不想要帶符號的值,請不要允許這種可能性。 有signed char
類型允許負值, char
類型可能(取決於系統)允許負值, unsigned char
類型不允許負值。 只需為手頭的工作選擇正確的工具。
這只是一種猜測,沒有看到你的代碼,但我敢肯定,你正在使用的數組char
為您的緩沖區時,你應該用兩種陣列unsigned char
或數組std::byte
(一個類型實現了字節的概念,沒有將字節解釋為字符的包袱,在讀取二進制文件時很有用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.