我正在尝试写入文件,如果该文件不存在则创建它.我在互联网上搜索过,没有什么对我有用.
我的代码看起来像这样:
QString filename="Data.txt";
QFile file( filename );
if ( file.open(QIODevice::ReadWrite) )
{
QTextStream stream( &file );
stream << "something" << endl;
}
Run Code Online (Sandbox Code Playgroud)
如果我在目录中创建一个名为Data的文本文件,它将保持为空.如果我不创建任何东西,它也不会创建文件.我不知道该怎么做,这不是我尝试创建/写入文件的第一种方式,而且没有一种方法可行.
谢谢你的回答.
Pal*_*mik 25
这很奇怪,一切看起来都很好,你确定它不适合你吗?因为这main肯定对我有用,所以我会在其他地方寻找问题的根源.
#include <QFile>
#include <QTextStream>
int main()
{
QString filename = "Data.txt";
QFile file(filename);
if (file.open(QIODevice::ReadWrite)) {
QTextStream stream(&file);
stream << "something" << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
您提供的代码也与QTextStream的详细描述中提供的代码几乎相同,所以我很确定,问题出在其他地方:)
另请注意,文件未被调用,Data但Data.txt应该在运行程序的目录中创建/定位(不一定是可执行文件所在的目录).
sho*_*osh 23
你确定你在正确的目录中吗?
打开没有完整路径的文件将在当前工作目录中打开它.在大多数情况下,这不是你想要的.尝试将第一行更改为
QString filename="c:\\Data.txt" 要么
QString filename="c:/Data.txt"
并查看文件是否在中创建 c:\
d.d*_*lov 10
#include <QFile>
#include <QCoreApplication>
#include <QTextStream>
int main(int argc, char *argv[])
{
// Create a new file
QFile file("out.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << "This file is generated by Qt\n";
// optional, as QFile destructor will already do it:
file.close();
//this would normally start the event loop, but is not needed for this
//minimal example:
//return app.exec();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
161818 次 |
| 最近记录: |