Oppure

Loading
25/01/13 18:24
tekdu
come posso usare il comando cat di linux in un programma c++?
aaa
25/01/13 19:14
GN
Conosco poco sia linux che C/C++ però se non sbaglio per eseguire un comando della shell di sistema c'è la funzione system("comando";).
aaa
25/01/13 19:25
tekdu
Ho provato ma system non compila. Bisogna usare execv//execve eccetera..
Questo lo so ma non so bene come usarlo, dovrebbe essere tipo:
execv("/bin/cat"',path1,path2,path3);


Scopo:"appendere" il file path2 a path1 e mettere il risultato in path3
aaa
25/01/13 19:41
GN
Scusa ma non ti conviene usare le funzioni native come (fopen, ecc.) per leggere i due files, accodarli e scriverlo nel terzo? Così girerebbe non solo su linux e penso migliorerebbero anche le prestazioni...
aaa
25/01/13 21:09
tekdu
Postato originariamente da GN:

Scusa ma non ti conviene usare le funzioni native come (fopen, ecc.) per leggere i due files, accodarli e scriverlo nel terzo? Così girerebbe non solo su linux e penso migliorerebbero anche le prestazioni...

Lo so, solo che programmatore=pigro.
Fa fatica scrivere il codice xD. Inoltre fa sempre comodo imparare qualcosa!
aaa
26/01/13 16:07
tekdu
bhè, alla fine ho scritto questo:

int Master::append(string src,string dst,ios::openmode mode){
	try{
	ifstream is(src.c_str());
	ofstream os(dst.c_str(),mode);
	is.exceptions(ifstream::failbit);
	os.exceptions(ios::failbit);
	os<<is.rdbuf();
	os.close();
	is.close();
	}
	catch (exception& e){
		cout<<"error appending file: "<<e.what()<<endl;
		return 1;
	}
	return 0;
}


grazie comunque!
aaa
26/01/13 18:47
GN
Si intendevo proprio una cosa del genere. Di niente ;)
aaa