MFC CString 按逗号提取字符
时间: 2024-09-15 07:10:46 浏览: 54
在MFC中,CString 类是用来处理字符串的,它提供了一套丰富的操作字符串的功能。如果你想按逗号提取 CString 对象中的字符,可以使用 `Find` 和 `CopyToBuffer` 函数配合 `strtok` 函数。这里有一个简单示例:
```cpp
CString strInput = "example,string,to,extract"; // 输入的CSV格式字符串
int pos = 0; // 用于追踪分割后的起始位置
// 用逗号作为分隔符,首次查找
pos = strInput.Find(",");
if (pos != -1) // 找到了逗号
{
// 提取第一个字段
CString subStr = strInput.Left(pos); // 使用Left()获取到逗号前的部分
// 将剩余部分继续进行查找
strInput = strInput.Mid(pos + 1); // 移除已提取的部分,从当前位置开始
// 递归提取直到整个字符串处理完
// ... (类似上述操作)
}
// 最终得到的结果存放在 subStr 中
```
在这个例子中,如果 `strInput` 包含多个逗号,你需要添加一个循环来迭代提取所有字段。每次找到一个逗号后,就提取一次字段,并更新 `strInput` 以便于下一次查找。
请注意,这个示例没有处理特殊情况,例如CSV文件可能有引号包围字段的情况,这时需要额外处理。另外,`strtok` 是标准库函数,在MFC中并不直接可用,但你可以使用 `std::stringstream` 或者手动遍历字符的方式来模拟这种功能。
阅读全文