[英]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.