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