[英]C++ datatype conversion
我正在讀取一個文本文件,並從文件中獲取單詞,然后將它們放入const char*
數組中。 但是我的要求是將這些const char*
變量轉換為各種數據類型,例如DWORD,LPBYTE, WORD,ULONG
等。
目前我的轉換實現如下:
DWORD GetDword(const char* msg)
{
if (int strcmp(msg, "MyRequiredData") > 0)
{
return MyRequiredData ;
}
}
假設“ msg”是來自數組的一個字符串數據。 這樣我就可以通過此方法以DWORD
類型獲取所需的數據。 對於其他類型也是如此。
我關心這里幾乎對數據進行硬編碼。 有更好的方法嗎? 我可以將字符串轉換為所需的數據類型嗎?
瑣碎的情況(轉換器)可以通過此處的 數字字符串轉換部分, strtok或簡單地boost :: lexical_cast來完成。
進階(解析)-具有Lex / Yacc或Flex / Bison , ANTLR , Boost.Spirit等
您是否嘗試過以下形式的類型轉換?
DWORD GetDword(const char* msg)
{
return (DWORD) msg;
}
盡管您必須首先確保msg
的內容是否可以轉換為DWORD以獲取正確的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.