簡體   English   中英

C++ 擴展 Ascii 和負值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM