簡體   English   中英

在 std::stoi 比較字節 0x90 上發現錯誤

[英]Error Found on std::stoi comparison byte 0x90

我在 C++ 上使用已編譯的 MSVC 進行編碼,並注意到一些事情:

當我寫一些類似的東西時:

if ( std::stoi ( "4D", nullptr, 16 ) == '\x4D' )
                Beep ( 200, 400 );

我可以聽到嗶嗶聲,但是當我寫下類似的內容時:

if ( std::stoi ( "90", nullptr, 16 ) == '\x90' )
            Beep ( 200, 400 );

比較不會激活嗶聲。

我搜索了很多地方,但沒有找到解決此問題的任何方法。

stoi()返回一個int ,而不是一個char 使用0x4D代替'\x4D' ,使用0x90代替 '\x90 '\x90'

if ( std::stoi ( "4D", nullptr, 16 ) == 0x4D )
    Beep ( 200, 400 );
if ( std::stoi ( "90", nullptr, 16 ) == 0x90 )
    Beep ( 200, 400 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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