انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: مهدی پیشگوی در 25 خرداد 1386، 01:15 بظ
-
من دو تا فایل تکست دارم به نام a و b
خوب الان می خوام هر خطی از a که تو b نیست رو نشون بده و بعدا جایگزین بکنم. دستور diff کمک کرد ولی نتونستم ازش استفاده کنم
-
diff -y
man diff
-
اون پارامتر مواردی که نیست رو ناقص نشون میده
می خوام تمام چیزایی که تو a هست ولی تو b نیست رو نشون بده
-
خودت با C برنامه بنویس !
با چند تا if , for حل میشه ... !
-
این هم حرفیه ! راست می گیا ;)
-
فکر کنم همچین برنامهای میخوای
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
const char *file1 = "a.txt";
const char *file2 = "b.txt";
int main()
{
ifstream in;
in.open(file1, ios::in);
vector<string> lines;
string s;
while(getline(in, s))
lines.push_back(s);
in.close();
in.open(file2, ios::in);
bool *mark = new bool[lines.size()];
memset(mark, false, lines.size());
while(getline(in, s))
for (int i = 0; i < lines.size(); i++)
if (lines[i] == s)
mark[i] = true;
for (int i = 0; i < lines.size(); i++)
if (!mark[i])
cout << "Line " << i + 1 << ": " << lines[i] << endl;
return 0;
}