VC++实现字符串分割成参数数组的类

5星 · 超过95%的资源 需积分: 0 93 下载量 86 浏览量 更新于2024-09-15 收藏 32KB DOC 举报
"VC字符串分割成数组.doc 是一个关于在Visual C++ (VC++)环境中如何将字符串分割成数组的文档。文档中介绍了一个名为 `CParamMap` 的自定义类,该类主要用于处理字符串参数,将字符串按照特定的分隔符分割,并存储为一个参数数组。这个类支持对字符串进行分割、获取参数数量、获取和设置参数值、以及添加新参数等功能。" 在VC++编程中,有时我们需要处理包含多个子项的字符串,例如一个由分号分隔的参数列表。在这种情况下,`CParamMap` 类提供了一种高效的方法来管理和操作这些字符串。这个类定义了两个成员变量,`m_SplitterChar` 和 `m_ValueSplitterChar`,分别用于表示参数之间的分割符(默认为分号)和参数值的赋值符号(默认为等号)。`m_ParamMap` 是一个 `VIDEO_PARAM_MAP` 类型的映射,它是一个 `map` 数据结构,用于存储键值对,即参数名和对应的参数值。 `CParamMap` 类提供了一系列的公共成员函数: 1. `int LoadParamString(LPCTSTR)`:这个函数接收一个字符串参数,根据 `m_SplitterChar` 进行分割,并将结果存入 `m_ParamMap` 中。 2. `int GetParamCount(void)`:返回字符串参数的总数。 3. `BOOL Values(LPCTSTR, string&)` 和 `string Values(LPCTSTR key)`:获取指定键的参数值,前者会更新传入的引用参数,后者返回一个新的字符串。 4. `BOOL Keys(int keyindex, string& key)` 和 `string Keys(int keyindex)`:根据索引获取参数名,前者更新传入的引用参数,后者返回一个新的字符串。 5. `BOOL AddParam(LPCTSTR name, LPCTSTR value)`:向参数列表中添加新的键值对。 6. `BOOL SetParam(LPCTSTR name, LPCTSTR value)`:设置已有参数的值。 此外,类还提供了构造函数和析构函数,方便对象的创建和销毁。例如,带参数的构造函数允许在创建对象时直接初始化字符串参数,并设定分隔符。 通过这个类,开发者可以方便地处理如 "key1=value1;key2=value2;key3=value3" 这样的字符串,将其转换为易于操作的键值对数组,大大简化了字符串处理的复杂性。这对于配置文件解析、命令行参数处理等场景非常有用。