【发布时间】:2013-09-29 13:28:40
【问题描述】:
我正在尝试将 WideChar 字符串拆分为一个数组,这是我这样做的方式:
WCHAR* Message = _T("This is a sample text"):
wchar_t *pwc;
CStringArray Command;
pwc = wcstok(Message, L" ");
int Count = 0;
while (pwc != NULL) {
pwc = wcstok(NULL, L" ");
Command.Add(pwc);
Count++;
}
for (int i = 0 ; i <= Count ; i++)
{
AfxMessageBox(Command[i]);
}
问题是我的最终结果数组中没有“This”
怎么了?
【问题讨论】:
-
数组在哪里?你只是在打印令牌。
-
为我工作(一旦我修复了在 Linux 环境中编译的代码,但那是 wcstok() 采用第三个参数来允许重入,不应该改变行为。你在说的“数组”,这让我觉得你在从字符串中复制元素时可能做错了什么?
-
我正在向 CStringArray (CStringArray::Add) 添加令牌
-
我已编辑问题并将代码更改为我当前使用的代码
-
如果您运行您最初向我们展示的代码,您就会看到它在工作 - 这可能有助于您弄清楚为什么这个版本不能。
标签: c++ string-split