【问题标题】:How to convert TChar[] array to std::string in VC++. Help on syntax如何在 VC++ 中将 TChar[] 数组转换为 std::string。语法帮助
【发布时间】:2012-01-25 10:36:58
【问题描述】:

您好,我有一个 TCHAR arr[256] 类型的数组。我想将此 TChar 数组转换为 std::string,以便能够使用字符串类中的函数。

谁能告诉我如何在 VC++ 中将 TCHAR[] 转换为字符串。

还有什么语法可以做到这一点:

If TCHAR arr[256] is my array. 
std::string str is my straing obj

。 以下语法是否可以正常工作: str = arr;

提前致谢。

【问题讨论】:

    标签: c++ visual-c++


    【解决方案1】:

    通常我是这样做的:

    TCHAR arr[256];
    std::wstring arr_w( arr );
    std::string arr_s( arr_w.begin(), arr_w.end() );
    

    结果在 arr_s 中

    不要期望标准 ASCII 之外的任何字符都会被转换

    【讨论】:

    • 我收到错误:C2064:“术语不会评估为采用 1 个参数的函数”对于“std::wstring arr_w(arr);”
    • 类似的术语不会评估为采用 1 个参数的函数" FOR 语句 "std::string arr_s( arr_w.begin(), arr_w.end() ); "。它正在考虑 arr_s & arr_w 是函数。
    • @engineer - 包括<string> 标头?
    • 当 TCHAR = CHAR 时是否编译?
    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多