📜  删除空白记事本++ (1)

📅  最后修改于: 2023-12-03 15:07:15.966000             🧑  作者: Mango

删除空白记事本++

简介

"删除空白记事本++"是一款应用程序,旨在帮助用户快速删除文本文件中的空白行和重复行。该程序简单易用,用户可以选择一个或多个文件进行操作,同时支持自定义输出路径和文件名。

功能特点
  • 支持删除文本文件中的空白行和重复行;
  • 支持选择单个或多个文件进行操作;
  • 支持自定义输出路径和文件名;
  • 支持命令行操作;
  • 界面简洁大方,操作简单易懂;
  • 支持多种编码格式,如UTF-8、GB2312等。
使用方法
  1. 下载"删除空白记事本++"程序文件;
  2. 打开程序,选择要操作的文件;
  3. 选择要删除的行类型(空白行或重复行);
  4. 自定义输出路径和文件名(可选);
  5. 点击"开始"按钮,程序会自动删除指定行;
  6. 完成后会提示操作成功或失败。
  7. 如果需要批量操作,可以使用命令行。
命令行操作
  1. 打开命令行窗口;
  2. 进入程序所在的目录;
  3. 输入命令: DeleteBlankNotebookPlusPlus.exe -i input.txt -o output.txt -t 1
    • 参数"-i"表示输入文件,"-o"表示输出文件,"-t"表示要删除的行类型(1表示空白行,2表示重复行);
    • 可以设置多个输入文件和输出文件;
    • 如需帮助,输入命令:DeleteBlankNotebookPlusPlus.exe -h
  4. 程序会自动在指定的输出路径生成对应的文件。
代码片段
// 删除空白行
bool DeleteBlankLine(string strFile, string strOutFile)
{
    bool bRet = false;

    ifstream filein(strFile.c_str(), ios::in);
    if (filein.is_open())
    {
        ofstream fileout(strOutFile.c_str(), ios::out);
        if (fileout.is_open())
        {
            string strLine;
            while (getline(filein, strLine))
            {
                if (!strLine.empty())
                {
                    fileout << strLine << endl;
                }
            }
            fileout.close();
            bRet = true;
        }
        filein.close();
    }

    return bRet;
}

// 删除重复行
bool DeleteDuplicateLine(string strFile, string strOutFile)
{
    bool bRet = false;

    ifstream filein(strFile.c_str(), ios::in);
    if (filein.is_open())
    {
        ofstream fileout(strOutFile.c_str(), ios::out);
        if (fileout.is_open())
        {
            set<string> setLine;
            string strLine;
            while (getline(filein, strLine))
            {
                if (!strLine.empty())
                {
                    setLine.insert(strLine);
                }
            }
            for (auto it = setLine.begin(); it != setLine.end(); it++)
            {
                fileout << *it << endl;
            }
            fileout.close();
            bRet = true;
        }
        filein.close();
    }

    return bRet;
}