簡體   English   中英

C ++數據類型轉換

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

進階(解組/解碼)-具有ProtobufSBEBlinkXDRASN.1等功能。

您是否嘗試過以下形式的類型轉換?

DWORD GetDword(const char* msg)
{
   return (DWORD) msg;
}

盡管您必須首先確保msg的內容是否可以轉換為DWORD以獲取正確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM