qt中如何以字符数组为名创建一个txt文件
比如定义一个charss[20]="abcd",怎样以abcd为文件名创建一个txt文件呢?怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比...
比如定义一个char ss[20]="abcd",怎样以abcd为文件名创建一个txt文件呢?
怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比如key[2048],写入文件? 展开
怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比如key[2048],写入文件? 展开
1个回答
展开全部
char ss[20] = "abcd";
QString fn = QString::fromLatin1(ss); //先转换成Qstring类型
fn += ".txt"; // 你要的txt格式
QFile file(fn); //这个fn也可以加上路径
if(!file.open(QFile::ReadWrite|QFile::Text)) //open()可以创建文件
{ //openmode可以自定义
qDebug()<<"file open error";
}
//...文件操作
file.close(); //最后要close
更多追问追答
追问
你回答的真好,谢谢了。
我还想问一下,怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比如key[2048],写入文件啊?
追答
open()在文件存在的时候就打开文件,不存在的时候会先创建文件再打开。
而且你的需求是无论文件存不存在,都要写入内容,就没必要分情况处理了吧?
char key[2048]; //这是要写入的内容
//...
file.wirte(key,qstrlen(key)); //写入文件
把QFile::ReadWrite换成QFile::Writeonly,会覆盖文件原有内容
也可以使用QTextstream进行文件读写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询