繁体   English   中英

非ASCII字符-从std :: string转换为char *

[英]Non-ASCII characters - conversion from std::string to char*

我有一个包含非ASCII字符的字符串,例如std::string word ("żółć"); std::string word ("łyżwy"); 我需要将其正确转换为const char *才能调用system(my_String_As_A_Const_Char_Pointer);

我正在使用Linux。

我该怎么做?

您可以使用std::string::c_str成员函数。 它将返回一个const char * ,可以在接受该类型参数的函数中使用。 这是一个例子:

int main(int, char*[]) {
    std::string word("żółć");
    const char* x = word.c_str();
    std::cout << x;
}

在这里 “SA活生生的例子。

通过这些转换,唯一要关心的是将宽字符与普通字符混合(这会严重失败)。 您使用的是std:string,因此c_str()适合提取const char *传递给其他库调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM