【发布时间】:2017-03-11 02:50:55
【问题描述】:
我有一个这样的字符数组:
char aData[100];
如何仅将 aData 的一部分从索引 from 复制到 wxString 中的索引 to ?
是否可以使用 wxString 作为目标,将 char 数组作为源,类似于 C 中的 memcpy ?
【问题讨论】:
我有一个这样的字符数组:
char aData[100];
如何仅将 aData 的一部分从索引 from 复制到 wxString 中的索引 to ?
是否可以使用 wxString 作为目标,将 char 数组作为源,类似于 C 中的 memcpy ?
【问题讨论】:
您应该能够使用读取字节数的构造函数来执行此操作。
wxString w(aData+from, to-from);
对于已经存在的w,你可以说
w.assign(aData+from, to-from);
或者你可以使用迭代器版本:
w.assign(aData+from, aData+to);
【讨论】:
aData 使用当前语言环境编码时有效。例如。如果编码是 UTF-8,这在 Unix 下很典型,但 aData 不是有效的 UTF-8 字符串,则构造/分配将失败。
wxString::FromUTF8()。否则使用与答案中相同的 ctor,但额外的 wxMBConv 参数对应于实际编码。