如何将wstringstream转换为char * ?? (语言c ++)
我需要这个转换来使用qdatastream.h库的函数writeRawData。
非常感谢!!
答案 0 :(得分:1)
您必须使用wstringstream::str()
来检索流的内容。
然后根据您的需要,您可以将其转换为QString
,以便QDataStream可以为您处理字符串或只写wstring的字节:
void f(wstringstream &stream, QDataStream &qstream)
{
wstring content = stream.str();
QString str = QString::fromStdWString(content);
qstream << str;
}
void g(wstringstream &stream, QDataStream &qstream)
{
wstring content = stream.str();
qstream.writeRawData(static_cast<const char *>(content.c_str()), content.length() * sizeof(wchar_t));
}
答案 1 :(得分:0)
wstringstream是一个basic_stringstream,你可以从中提取line,char,text 看看http://www.cplusplus.com/reference/sstream/wstringstream/
您可以从http://www.cplusplus.com/reference/sstream/basic_stringstream/str/
中检索一个示例