被坑的夠嗆,做個記號
方法:1、2系轉載
方法3系原創
如果你的數據不會大于0x7fff ffff,可以直接用StrToInt,安全點的方法是StrToIntDef
// 超出了int的最大表達范圍,禁止用int中轉
std::string str("2147483649");
DWORD num = atoi(str.c_str()); // way - 1,安全性不好
std::stringstream sstr;
sstr<<str;
sstr>>num; // way - 2,安全性不好
sstr.clear();
方法3:
/*******************************************************************************
字符串轉成DWORD,模仿StrToIntDef()其中defalult = 0;
*******************************************************************************/
DWORD StrToDWORDDef(String sDigStr, DWORD dwDef = 0)
{
return (DWORD) StrToInt64Def(sDigStr, dwDef); //安全性好,浪費幾個始終周期和4字節內存
}
posted on 2008-01-10 21:10
創建更好的解決方案 閱讀(4234)
評論(0) 編輯 收藏 引用 所屬分類:
C++專欄