在C/C++语言中,当我们调用fopen("filename","w")时,如果filename这个文件并不存在,则会创建这个文件,并打开。
但是在Qt中,如果我们想创建一个新文件,怎么办呢?
QFile file("filename");
file.open(QIODevice::WriteOnly);
这个时候如果filename不存在,Qt会创建这个文件吗?不能,如果要创建这个新文件,还需要调用close(),这个时候filename才会被创建,显得有点奇怪,完整的代码为:
QFile file("filename");
file.open(QIODevice::WriteOnly);
file.close();
//需要调用一次close,至此filename才会被创建,之后重新打开文件,进行读写操作
file.open(QIODeivce::ReadWrite);
if ( file.isOpen() )
{
//read or write the file "filename"
}