opencv---文件操作总结

来源:互联网 发布:瓷秀软件多少钱 编辑:程序博客网 时间:2024/05/29 17:42

文章地址
http://blog.csdn.net/ei__nino/article/details/7301132
http://blog.csdn.net/xgbing/article/details/7772953

文件读写

QDataStream

http://blog.csdn.net/u010847519/article/details/68065599

#include "mainwindow.h"#include <QApplication>#include<QImage>#include<QFile>#include<QMap>#include<QDataStream>#include<QString>#include<QColor>#include<QIODevice>#include<iostream>using namespace std;int main(int argc, char *argv[]){    QApplication a(argc, argv);    QImage image(":/p.png");    QMap<QString, QColor> map;    map.insert("red", Qt::red);    map.insert("green", Qt::green);    map.insert("blue", Qt::blue);    QFile file("facts.dat");    if (!file.open(QIODevice::WriteOnly)) {       std::cerr << "Cannot open file for writing: "                  << qPrintable(file.errorString()) << std::endl;    }    QDataStream out(&file);    out.setVersion(QDataStream::Qt_4_3);    out << quint32(0x12345678) << image << map;    return a.exec();}

QTextStream

http://blog.csdn.net/u010847519/article/details/69212844
写入文件

QFile file("sf-book.txt");  if (!file.open(QIODevice::WriteOnly)) {      std::cerr << "Cannot open file for writing: "               << qPrintable(file.errorString()) << std::endl;      return;  }  QTextStream out(&file);  out << "Thomas M. Disch: " << 334 << endl; 
QString fileName=“D:/Lib/1.txt");QString str="CSDN";QFile file(fileName);if(!file.open(QIODevice::ReadWrite | QIODevice::Text))  {    QMessageBox::warning(this,"sdf","can't open",QMessageBox::Yes);  }QTextStream in(&file);in<<str<<"\n";//如果写多行,同上循环即可file.close();

读文件

QString fileName = "D:\Lib\1.txt";QString str;QFile file(fileName);if(!file.open(QIODevice::ReadOnly | QIODevice::Text))     {      QMessageBox::warning(this,"Warnning","can't open",QMessageBox::Yes);     }QTextStream in(&file);str=in.readLine();//读取一行QString str2[MAX];for(int 1=0 ;i<MAX; i++)//读取多行的代码str2[i]=in.readLine();file.close();

File知识点详解

file代码片段

if(!file.open(QIODevice::ReadOnly | QIODevice::Text))

open参数
file.open参数
QIODevice::Text在读写文本文件时使用,这样可以自动转化换行符为本地换行符

读写中文文件—QTextCodec

QTextCodec 类:提供文本编码之间的转换。

#include <qstring.h>#include <qfile.h>#include <qtextstream.h>#include <qtextcodec.h>int main() {    QFile file("test.txt"); if (file.open(IO_ReadOnly|IO_Raw)) {  QTextStream floStream(&file);  QString line;  QTextCodec *codec=QTextCodec::codecForName("GBK");  floStream.setCodec(codec);   while ( floStream.atEnd()==0 )   {   line = codec->fromUnicode(floStream.readLine());   qWarning(line);  }  file.close();      } return 0;}

删除文件

 QString fileName=“D:/Lib/1.txt"); QFile file; file.remove(fileName); 

文件名去扩展名

QString fileName="1.txt";int index = fileName.lastIndexOf(".");fileName.truncate(index);QMessageBox::warning(this,"Tips",fileName,QMessageBox::Yes);//现在的fileName就是"1"//同理,lastIndexOf是找最后一个符合条件的位置,将文件名按字符串来处理就好了

添加路径和扩展名

QString fienName = "1";fileName.prepend("D:\Lib\");fileName.append(".txt");QMessageBox::warning(this,"Tips",fileName,QMessageBox::Yes);//fileName 为"D:\Lib\1.txt"//总之是对QString的简单操作而已
0 1