PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
Voodoo6000
Junior Member
 

加入日期: Sep 2006
文章: 822
c++ string to int (hex)

小弟求救一下
我c++是用 Dev-C++寫的

我想把string轉成int 16進位的

例如:

string str=FF

轉成int 16進位 a=FF

當然要對a做運算
+1 = 100
-1 = FE

請問何解qq”
     
      
舊 2011-12-15, 11:01 AM #1
回應時引用此文章
Voodoo6000離線中  
疾如風
New Member
 
疾如風的大頭照
 

加入日期: Aug 2006
文章: 9
把16進位string轉成int偷懶的作法,用std::stringstream

代碼:
#include <sstream>
#include <iostream>

using namespace std;

int main() {
    int a;
    stringstream ss;
    string str = "FF";

    ss << hex << str;
    ss >> a;
    cout << hex << a+1 << " " << a-1 << endl;

    return 0;
}
 
舊 2011-12-16, 11:53 AM #2
回應時引用此文章
疾如風離線中  
PAN_PAN
Junior Member
 
PAN_PAN的大頭照
 

加入日期: Jan 2003
您的住址: Shattrath City
文章: 948
引用:
作者Voodoo6000
小弟求救一下
我c++是用 Dev-C++寫的

我想把string轉成int 16進位的

例如:

string str=FF

轉成int 16進位 a=FF

當然要對a做運算
+1 = 100
-1 = FE

請問何解qq”


請問是來問作業的嗎? 如果是請把英文練好, 如果不是也把英文練好, 然後 Google, 我隨便 Google C++ string to hex 第一個出現的 link 就有教了
舊 2011-12-16, 12:05 PM #3
回應時引用此文章
PAN_PAN離線中  
kenchen_1226
Advance Member
 

加入日期: Jun 2010
文章: 333
引用:
作者Voodoo6000
小弟求救一下
我c++是用 Dev-C++寫的

我想把string轉成int 16進位的

例如:

string str=FF

轉成int 16進位 a=FF

當然要對a做運算
+1 = 100
-1 = FE

請問何解qq”


想辦法把 string 轉成 char *
然後用 atoi() 轉換就可以了


例如這樣

char * token = str.c_str();
int number = atoi(token);

沒 compiler, 大概可以吧
舊 2011-12-16, 12:08 PM #4
回應時引用此文章
kenchen_1226離線中  
Voodoo6000
Junior Member
 

加入日期: Sep 2006
文章: 822
恩 已經解決了

從xxx.txt讀取出來變成char txt [ ]資料型態
再用sscanf轉成16進位int型態
加減乘除完畢 在轉成char txt [ ] 型態 在寫回xxx.txt檔案 裡面

舊 2011-12-16, 12:38 PM #5
回應時引用此文章
Voodoo6000離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:54 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。