C++ C++;数据类型转换

C++ C++;数据类型转换,c++,string,type-conversion,C++,String,Type Conversion,我正在读取一个文本文件,从文件中提取单词,并将它们放入const char*数组中。然而,我的要求是将那些const char*变量转换为各种数据类型,如DWORD、LPBYTE、WORD、ULONG等 目前,我的转换实现如下所示: DWORD GetDword(const char* msg) { if (int strcmp(msg, "MyRequiredData") > 0) { return MyRequiredData ;

我正在读取一个文本文件,从文件中提取单词,并将它们放入
const char*
数组中。然而,我的要求是将那些
const char*
变量转换为各种数据类型,如
DWORD、LPBYTE、WORD、ULONG

目前,我的转换实现如下所示:

DWORD GetDword(const char* msg)
 {
   if (int strcmp(msg, "MyRequiredData") > 0)
        {
           return MyRequiredData ;
        }
 }
假设“msg”是数组中的一个字符串数据。因此,我将通过此方法在
DWORD
类型中获得所需的数据。对于其他类型也有相同的实现。
我关心的几乎是硬编码数据。有更好的方法吗?我可以将字符串转换为我想要的数据类型吗

可以使用数字字符串转换部分或简单地

高级(解析)-带、、等


高级(解组/解码)-使用、、等工具。

您是否尝试过以下类型转换形式

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

尽管您必须首先确保
msg
的内容是否可以转换为DWORD以获得正确的值。

我不太确定您想要实现的到底是什么(您的伪代码示例在“pseudo”方面有点丰富,在“example”方面有点缺乏).但你似乎想实现一个解析器;有多种方法可以实现。传统的是,现代的,更强大的是。两者都不是“快速”解决方案,因为他们需要习惯这项技术,并且可能还需要完全重写您所拥有的内容。感谢@DevSolar的响应。正如您所说,我在这里试图实现的是解析。我目前正在研究各种方法,包括Boost.Spirit和Lexical_cast。只是想看看是否有不太困难的方法来进行解析实现parsing.Errr…你建议将字符串(从文本文件读取)强制转换为整数?他确实说过他在提取“单词”,我假设它可以转换为其他数据类型和其他函数。在他的示例伪代码/实际代码混合中,他希望将转换后的const char*值返回到DWORD。他的问题是转换,而不是解析,不是吗?他有一个
msg
,这是一个C字符串(在他的伪代码中使用
strcmp()
处理它)。这意味着,即使它确实包含数字(“123”),这将是一个数组,分别是字符“1”、“2”和“3”的ASCII值……如果要转换这些值,可以使用
strtol()
,而不是
(DWORD)
强制转换。但您的答案甚至没有这样做--您正在强制转换指向DWORD的指针。。。