QFile 如何读写换行符
时间: 2024-05-03 16:19:56 浏览: 25
QFile 可以读写换行符,具体方法如下:
1. 写入换行符
可以使用 QTextStream 对象的 endl() 方法,在文件末尾写入一个换行符:
```cpp
QFile file("file.txt");
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out << "Hello" << endl(); // 写入 Hello 和换行符
out << "World";
file.close();
}
```
也可以直接写入换行符的 ASCII 码值:
```cpp
QFile file("file.txt");
if (file.open(QIODevice::WriteOnly)) {
char newline = '\n';
file.write(&newline, 1); // 写入换行符
file.close();
}
```
2. 读取换行符
可以使用 QTextStream 对象的 readLine() 方法,该方法会读取一行文本,包括其中的换行符:
```cpp
QFile file("file.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
QString line = in.readLine(); // 读取一行文本,包括换行符
file.close();
}
```
也可以使用 QFile 对象的 read() 方法,读取文件中指定位置的字符,判断是否为换行符:
```cpp
QFile file("file.txt");
if (file.open(QIODevice::ReadOnly)) {
char c;
while (file.getChar(&c)) {
if (c == '\n') {
// 读取到换行符
}
}
file.close();
}
```