【问题标题】:Copy a part of the character array to a wxString in c++将字符数组的一部分复制到c ++中的wxString
【发布时间】:2017-03-11 02:50:55
【问题描述】:

我有一个这样的字符数组:

char aData[100];

如何仅将 aData 的一部分从索引 from 复制到 wxString 中的索引 to

是否可以使用 wxString 作为目标,将 char 数组作为源,类似于 C 中的 memcpy ?

【问题讨论】:

    标签: c++ wxwidgets wxstring


    【解决方案1】:

    您应该能够使用读取字节数的构造函数来执行此操作。

    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 字符串,则构造/分配将失败。
    • @VZ 在这种情况下我可以使用什么?
    • 如果数据是 UTF-8 格式,使用wxString::FromUTF8()。否则使用与答案中相同的 ctor,但额外的 wxMBConv 参数对应于实际编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2015-04-26
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2010-10-18
    相关资源
    最近更新 更多