QT里如何把中文,英文混合字符串输出到一个二进制文件里?
时间: 2024-03-09 07:46:36 浏览: 75
linux下int转二进制字符串的方法_int转二进制字符串的方法_QT_linux_
5星 · 资源好评率100%
在 QT 中,将中文、英文混合字符串输出到一个二进制文件里可以使用 QFile 和 QTextStream 类来实现。具体步骤如下:
1. 创建 QFile 对象,并以二进制写入模式打开文件。
```cpp
QFile file("output.bin");
if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
qDebug() << "Failed to open file";
return;
}
```
2. 创建 QTextStream 对象,并设置其编码为 UTF-8。
```cpp
QTextStream out(&file);
out.setCodec("UTF-8");
```
3. 使用 QTextStream 的 << 运算符将字符串写入文件,注意,这里需要使用 QString 类型的字符串。
```cpp
QString str = "你好,world!";
out << str;
```
4. 关闭文件。
```cpp
file.close();
```
完整代码如下:
```cpp
QFile file("output.bin");
if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
qDebug() << "Failed to open file";
return;
}
QTextStream out(&file);
out.setCodec("UTF-8");
QString str = "你好,world!";
out << str;
file.close();
```
上述代码将一个中文、英文混合的字符串写入了一个二进制文件中,文件的编码为 UTF-8。如果想要读取这个文件中的字符串,可以使用类似的方式,创建 QFile 和 QTextStream 对象,然后以二进制读取模式打开文件,设置 QTextStream 对象的编码为 UTF-8,最后使用 >> 运算符从文件中读取字符串即可。
阅读全文