qt中如何以字符数组为名创建一个txt文件

比如定义一个charss[20]="abcd",怎样以abcd为文件名创建一个txt文件呢?怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比... 比如定义一个char ss[20]="abcd",怎样以abcd为文件名创建一个txt文件呢?
怎样可以实现:已存在该文件则覆盖文件内容写入信息,无则创建并将一个字符数组,比如key[2048],写入文件?
展开
 我来答
三硝酸甘油脂
2016-08-05 · 超过34用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:69.5万
展开全部
    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进行文件读写

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式