no suitable user-defined conversion from utility::string_t to std::string

前端 未结 3 1928
渐次进展
渐次进展 2021-01-05 15:05

I am using the casablanca C++ Rest library to make HTTP requests.

The problem is that this gives a utility::string_t string as output and I can\'t quite find any way

相关标签:
3条回答
  • 2021-01-05 15:40

    If you see the documentation for C++ REST SDK from github, you'll find a typedef

    C++ Rest SDK - utility Namespace Reference

    typedef std::string     string_t;
    

    So no need to convert it. Both are same types.

    0 讨论(0)
  • 2021-01-05 15:48

    Depending on what platform you are compiling for, the utility::string_t type will be typedef'd to either std::wstring (on Windows) or std::string (on Linux/OSX).

    To get a classic utf-8 std::string regardless of platform, take a look at utility::conversions::to_utf8string.

    reference documentation

    0 讨论(0)
  • 2021-01-05 15:56

    On Windows Phone 8.1 there is this define:

    typedef std::wstring     string_t;
    

    I used this:

    string_t toStringT = U("sample");
    std::string fromStringT(toStringT.begin(), toStringT.end());
    

    or:

    std::string fromStringT(conversions::to_utf8string(toStringT));
    
    0 讨论(0)
提交回复
热议问题