亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C ++中整數到十六進制字符串

在C ++中整數到十六進制字符串

C++
Helenr 2019-07-30 14:42:46
在C ++中整數到十六進制字符串如何在C ++中將整數轉換為十六進制字符串?我可以找到一些方法來實現它,但它們似乎主要針對C。似乎在C ++中沒有本地方法。這是一個非常簡單的問題; 我有一個int我想轉換為十六進制字符串以便以后打印。
查看完整描述

3 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

<iomanip>的 std::hex。如果你打印,只需發送std::cout,如果沒有,然后使用std::stringstream

std::stringstream stream;stream << std::hex << your_int;std::string result( stream.str() );

你可以在前面加上第一<<<< "0x"或任何你喜歡的,如果你想。

其他感興趣的方式是std::oct(八進制)和std::dec(回到十進制)。

您可能遇到的一個問題是,這會產生表示它所需的確切數字位數。您可以使用setfillsetw該規避的問題:

stream << std::setfill ('0') << std::setw(sizeof(your_type)*2) 
       << std::hex << your_int;

最后,我建議這樣一個功能:

template< typename T >std::string int_to_hex( T i ){
  std::stringstream stream;
  stream << "0x" 
         << std::setfill ('0') << std::setw(sizeof(T)*2) 
         << std::hex << i;
  return stream.str();}


查看完整回答
反對 回復 2019-07-30
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

使用std::stringstream到整數轉換成字符串和特殊操作者設置的基礎。例如:

std::stringstream sstream;sstream << std::hex << my_integer;std::string result = sstream.str();


查看完整回答
反對 回復 2019-07-30
  • 3 回答
  • 0 關注
  • 686 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號