处理一些文档数据时,一些空白行往往都是我们不需要的,当数据量比较大时,手动删除是不现实的,使用Qt写了一个删除空白行简单工具,存在到这里,有时候可能用得着。
使用效果
源数据 | 转换数据 |
---|---|
我不是空白行 我也不是空白行 我真不是空白行 我确实也不是空白行哦!!! | 我不是空白行 我也不是空白行 我真不是空白行 我确实也不是空白行哦!!! |
使用方法
- 在windows命令行下运行 “RemoveBlankLine.exe 源文件 转换文件 ”,如下图。RemoveBlankLine.exe 下载地址:下载
中文字出现乱码问题
- 主要是文件字符编码问题,可以先使用例如“NotePad++”的编辑器,将源文件字符编码进行修改,如将UTF-8修改为UTF-8-BOM,然后再使用工具完成转换。
Word文档转换
- 先将Word文档中的文字拷贝下来,存放到txt文档中,使用工具转换成新的txt文件,最后将txt中的文字拷贝到Word文档中。
Qt实现代码
#include <QFile>
#include <QTextStream>
#include <QString>
#include <iostream>
int main(int argc, char *argv[])
{
if(argc < 3){
std::cout << "too few args" << std::endl;
exit(-1);
}
//转换一下文件//
QString src_file = argv[1];
QString dst_file = argv[2];;
std::cout << "src_file: " << src_file.toStdString() << std::endl;
std::cout << "dst_file: " << dst_file.toStdString() <<std::endl;
QFile file_src(src_file);
file_src.open(QFile::ReadOnly);
QFile file_dst(dst_file);
file_dst.open(QFile::WriteOnly);
QTextStream s(&file_src);
QTextStream s2(&file_dst);
while(!s.atEnd()){
QString data = s.readLine();
if(!data.trimmed().isEmpty()){
s2 << data << "\r\n";
}
}
s2.flush();
file_dst.close();
return 0;
}