QTemporaryFile is empty

QTemporaryFile is empty

本文关键字:empty is QTemporaryFile      更新时间:2023-10-16

我想在Qt项目中使用临时文件

我尝试这个代码:

QTemporaryFile file;
file.open();
QTextStream stream(&file);
stream << content; // content is a QString
qDebug() << file.readAll();

但是控制台显示一个空字符串:

""

如何在QTemporaryFile中写入字符串

一切正常。QTemporaryFile总是作为ReadWrite打开,并且是一个随机访问设备,这意味着在您写入数据后,您要么需要关闭并重新打开它(这是一个过度),要么转到文件的开头读取它:

QTemporaryFile file;
file.open();
QTextStream stream(&file);
stream << content; // here you write data into file. 
//Your current position in the file is at it's end, 
//so there is nothing for you to read.
stream.flush();//flush the stream into the file
file.seek(0); //go to the begining
qDebug() << file.readAll(); //read stuff