QT 简单的I/O操作

来源:互联网 发布:数据结构与算法 云盘 编辑:程序博客网 时间:2024/05/12 16:38

QT的控制台的输出用qDebug包含头文件

#include<QDebug>

c++形式 qDebug()<<“hello”<<'\n';

c形式 qDebug(“hello\n”);

QT简单的目录操作

    //获取绝对路径my_dir.absolutePath();
    //foreach是Qt中对c++中增加的关键字,foreach (variable, container)
    //其意思是访问遍历第2个参数容器中的所有内容,每次都存入第1个参数变量中
    //QDir::drives()是列出电脑根目录下的所有目录,返回的是QFileInfoList
    //QFileInfo::absoluteFilePath为返回绝对路径,包括名字
    //my_dir.mkpath(mkdir);创建路径父路径不存在创建父路径
    //my_dir.mkdir(mkdir);创建路径父路径不存在创建失败
    //my_dir.rmpath (mkdir);移除路径
    //my_dir.rmdir (mkdir);移除目录
    //my_dir.setPath("C:/");设置路径
//my_dir.setCurrent("/tmp")设置当前路径
    //QFileInfoList QDir::entryInfoList()为列出其路径下的所有文件和目录信息。
    //bool QFileInfo::isDir()是判断其是否为目录,同理
    //bool QFileInfo::isFile()是判断其是否为文件
    QApplication a(argc, argv);
    QDir my_dir;
    qDebug() << my_dir.absolutePath();
      //my_dir.absolutePath();
      //foreach是Qt中对c++中增加的关键字,foreach (variable, container)
      //其意思是访问遍历第2个参数容器中的所有内容,每次都存入第1个参数变量中
      //QDir::drives()是列出电脑根目录下的所有目录,返回的是QFileInfoList
      foreach(QFileInfo my_info, my_dir.drives())
      {
          //QFileInfo::absoluteFilePath为返回绝对路径,包括名字
          qDebug() << my_info.absoluteFilePath();
      }
      //  qDebug() << my_dir.exists();
     QString mkdir = "C:/QtTest/zzz";
        //如果指定的路径不存在时
        if(!my_dir.exists(mkdir))
        {
        //给my_dir创建一个路径
         my_dir.mkpath(mkdir);
         qDebug() << "Created successed!";
        }
        //指定的路径存在时
        else {
        my_dir.rmpath (mkdir);
        qDebug() << "Alreadly exists!";
        }
        //QDir my_dir1("C:/");
        my_dir.setPath("C:/");
        //QFileInfoList QDir::entryInfoList为列出其路径下的所有文件和
        //目录信息。bool QFileInfo::isDir是判断其是否为目录,同理
        //bool QFileInfo::isFile是判断其是否为文件
        foreach(QFileInfo my_info, my_dir.entryInfoList())
        {
        if(my_info.isDir())
         qDebug()<< "Dir: "<<my_info.absoluteFilePath();
        if(my_info.isFile())
         qDebug()<< "File: "<<my_info.absoluteFilePath();
         }

QT的简单文件操作:

    //QFile file
    //直接初始化file("draw.txt");或者file.setFileName("draw.txt");都是在相对路径下
    //文件打开不存在就创建
    //打开文件方式QIODevice::ReadOnly 打开方式只读
    //QIODevice::WriteOnly 打开方式只写
    //QIODevice::ReadWrite 打开方式可写可读
    //QIODevice::Append    打开后在文件指针指向文件末尾
    //QIODevice::Truncate  打开文件清空文件
    //file.close();        文件的关闭
    //file("draw.txt");
    QFile file;
    file.setFileName("draw.txt");
    if(file.exists ())
    {
    file.open(QIODevice::WriteOnly| QIODevice::Append);
    QTextStream out(&file);
    out << "The magic number is: " << 49 << "\n";
    }else{
    file.open(QIODevice::WriteOnly| QIODevice::Append);
    QTextStream out(&file);
    out << "The magic number is: " << 49 << "\n";
    }
    file.close();

QT文件的读写操作

    //QTextStream和QDataStream都是面向数据流的
    //QTextStream侧重于文本
    //QDataStream侧重于字节流
    QFile file;
    file.setFileName("draw.txt");
    file.open(QIODevice::WriteOnly);
    QTextStream out1(&file);
    out1<<49<<' '<<3.14<<' '<<'c'<<endl;
    file.close();
    file.setFileName("draw.txt");
    file.open(QIODevice::ReadOnly);
    QTextStream out2(&file);
    int x;
    float y;
    char m;
    out2>>x>>m>>y>>m>>m;
    qDebug()<<x<<y<<m;
    file.close();

QString QStringList 的简单用法

    //QString的用法
    //str.append ("hello");向后添加函数
    //str.sprintf ("%s,%d","hello",3);格式化字符串
    //str = QString("%1 %2 (%3s-%4s)") .arg("live").arg("age").arg(1950).arg(1970);
    //QString::number(59.6);等价于str.setNum(59.6);数字转化成字符串
    //double d = str.toDouble();字符串转化成长浮点型
    //toInt(), toLongLong(), toDouble()
    QString str="3.14 ";
    str+="3.24";
    QStringList strlist=str.split (" ");
    //等价于
//    str.append ("hello");
//    str.sprintf ("%s,%d","hello",3);
//    str = QString("%1 %2 (%3s-%4s)") .arg("live").arg("age").arg(1950).arg(1970);
//    str = QString::number(59.6);
//    str = str.setNum(59.6666);
//    double d = str.toDouble();
//    qDebug()<<str.length ()<<str<<d;
//    qDebug()<<str.length ()<<str;
    for (int i = 0; i < strlist.size(); ++i){
        double d=strlist.at(i).toDouble();
        qDebug() <<d<< endl;
          }



0 0
原创粉丝点击