剔除在另一个文件中出现的行

有两个文件A,B。我想要一个文件C,C中含有的是B文件中剔除与A相同行的数据。

用C++编写,用到fstream,ifstream,set以及vector。

#include <fstream>
#include <iostream>
#include <vector>
#include <set>
using namespace std;
struct strless : public std::binary_function<const char*, const char*, bool>
{
    bool operator()(const char* s1, const char* s2) const
    {
        return strcmp(s1, s2) < 0;
    }
};
int _tmain(int argc, _TCHAR* argv[])
{

    ifstream comparefile;
    comparefile.open("E:\\a\\tasks.txt",ios::in);
    set<char*,strless> sline;
    char (*lines)[100] = new char[200][100];
    int count = 0;
    while(!comparefile.eof())
    {

        comparefile.getline(lines[count],100);
        sline.insert(lines[count]);
        ++count;
    }
    comparefile.close();

    ifstream sourcefile;
    sourcefile.open("E:\\a\\ttt.txt",ios::in);
    char (*lines1)[100] = new char[1000][100];
    count = 0;
    vector<char*> vline;
    while(!sourcefile.eof())
    {
        sourcefile.getline(lines1[count],100);
        if(!sline.count(lines1[count]))
            vline.push_back(lines1[count]);
        ++count;
    }
    sourcefile.close();

    fstream targetfile;
    targetfile.open("E:\\a\\list.txt",ios::app);

    vector<char*>::iterator vitr = vline.begin();
    while(vitr!= vline.end())
    {
        targetfile<<*vitr<<endl;
        ++vitr;
    }
    targetfile.close();

    return 0;
}

剔除在另一个文件中出现的行,布布扣,bubuko.com

时间: 2024-10-06 02:48:51

剔除在另一个文件中出现的行的相关文章

linux下向一个文件中的某行插入数据的做法

sed -i 'ni\x' test.file        表示向test.file文件里的第n行的前面添加x内容sed -i 'na\x' test.file       表示向test.file文件里的第n行的后面添加x内容 sed -i '/m/i\x' test.file     表示向test.file文件里匹配m字符串的行的前面添加x内容sed -i '/m/a\x' test.file    表示向test.file文件里匹配m字符串的行的后面添加x内容 -i     表示in

如何用Vi把一个文件中的几行拷贝到另一个文件中去

举例 将a.txt第1行到第5行,拷贝到新文件b.txt中去(b.txt不存在) 首先查看一下a.txt cat a.txt 1 2 3 4 5 6 7 8 8 9 10 vi打开a.txt 指令模式(Command Mode)下输入:进入末行模式 输入  :1,5w!>>b.txt

Java IO把一个文件中的内容以字符串的形式读出来

代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public static void main(String[] args) { System.out.println(readFileToString()); } private static String readFileToString() { // new 一个空文件,用于获取路径 File dirs = ne

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

Java学习(4):统计一个文件中的英文,中文,数字,其他字符以及字符总数

要求:统计一个文件中的英文,中文,数字,其他字符以及字符总数(此随笔以txt文件为例) import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; /** * 将一个文件中英文,中文,数字,其

黑马程序员——IO——读取一个文件中的文字输出到控制台上

读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; //读取一个文件中的文字 ,输出到控制台上 //读取的是字符文字,因此可以使用字符流来操作 public class FileReaderDemos { public static void main(String[] args) { // TODO Auto-generate

读取两文件,不同的内容存入另一个文件中

<?php /** * 从两个.csv 文件中读出数据 * 比较这两个文件不同的数据,并存入.csv 文件中 */ class Readfiledata { private function __construct() { } /** * 读文件并获取数据 */ private static function getdata($file) { $handle = fopen ( $file, 'r' ); $orderform = array (); $i=0; while ( false !=

统计一个文件中出现字符&#39;a&#39;的次数

# -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/hongten_python_count.html import os number=0 def getNumber(filePath,c): 'c---->the word numbers' #统计一个文件中出现字符'a'的次数 if os.path.exists(filePath): global

将一个文件中的内容,在另一个文件中生成. for line in f1, \n f2.write(line)

将一个文件中的内容,在另一个文件中生成. 核心语句: for line in f1: f1中的所有一行 f2.write(line)                                  # 是直接写入f1中出来的每一行,用   .write() 原文地址:https://www.cnblogs.com/jack20181017/p/9863521.html