Inhalt einer Datei in eine andere Datei kopieren

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Inhalt einer Datei in eine andere Datei kopieren

Beitrag von Mr.Undercover »

Hallo alle zusammen,

Ich möchte, dass der Inhalt einer Datei in eine andere Datei rüberkopiert wird...

//Einlesen der Datei und erstellen der Kopie
std::ifstream(directory1);
std::ofstream asd( "kopie.lst" )

Frage mich nun wie ich den inhalt von directory1 in asd bzw. kopie halt rüberkopiere...
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

habe mal was versucht bzw. gefunden aber kriege lauter fehlermeldungen....

std::ifstream rd("directory1");
std::ofstream wr( "kopie.lst" );
while ( !read.eof() )
{
std::string line;
std::getline(line, rd);
wr << line;
}
wr.close(); rd.close();
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

problem gelöst danke!
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

so funktioniert es:

Code: Alles auswählen

#include <iostream>
#include <fstream>
...
...
void copyFile
{
	ifstream inputFile;

	inputFile.open (("origBild.jpg", ifstream::binary);

	ofstream outputFile ("copyBild.jpg", ofstream::binary);
	outputFile << inputFile.rdbuf();
}
Linux, das längste Text-Adventure aller Zeiten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

Ich hätte aber eine andere Frage wie ist das wenn ich ab einen bestimmten Keyword anfängt zu kopieren...

dahabe ich folgendes zusammengeschrieben:

std::ifstream read(directory1);
std::ofstream write( "kopie.lst" );
while ( !read.eof() )
{
std::string line;
while (std::getline( read, line ) && line!="*Keyword*" );
std::string line;
std::getline(read, line);
write << line<<std::endl;
}
write.close();
read.close();


das funktioniert leider nicht so richtig
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

mhhh, der ansatz ist schon nicht schlecht, solltest allerdings etwas umordnen (übrigens gibts den Code-Block nicht umsonst, das macht es für andere auch einfacher ;) )

Code: Alles auswählen

std::ifstream read(directory1);
std::ofstream write( "kopie.lst" );

std::string line;

while (std::getline( read, line ) && line!="*Keyword*");

while ( !read.eof() )
{
  std::getline(read, line);
  write << line<<std::endl;
}

write.close();
read.close();
Dein Fehler lag daran, dass er zwar erstmal nach dem Keyword gesucht hat, und dann auch eine Zeile ausgelesen hat, aber dann, beginnt er die Schleife wieder von vorne und sucht wieder nach dem Keyword, was es ja wahrscheinlich nicht ein zweites Mal gibt...

Mfg androphinx
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

ja genau mein Fehler habe ich gerade auch bemerkt beim debuggen...
Dennoch vielen dank!

Ich hätte noch da zwei kleine Fragen... Wie kriege ich es hin, das er das Keyword oben noch stehen lässt...

also das der File mit

*Keyword* beginnt ? (er fängt bei +1 Zeilen an!)

das zweite wäre könnte ich noch ne Zeile über keyword einen eigenen automatisch generierten text mit einer Funktion übergeben ?

z.b.: author dieses quellcodes: xxx

und sowas ?
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

Mr.Undercover hat geschrieben:ja genau mein Fehler habe ich gerade auch bemerkt beim debuggen...
Dennoch vielen dank!
Das sind so die kleinen Logikfehler, wo man mal eine Weile Abstand braucht, um sie zu entdecken ;)
Mr.Undercover hat geschrieben: Ich hätte noch da zwei kleine Fragen... Wie kriege ich es hin, das er das Keyword oben noch stehen lässt...
Nummer 3 + 4 in diesem Thread ;)
Mr.Undercover hat geschrieben: also das der File mit

*Keyword* beginnt ? (er fängt bei +1 Zeilen an!)
Einfach das Keyword als erstes ausgeben (du kennst es ja ;) )
Mr.Undercover hat geschrieben: das zweite wäre könnte ich noch ne Zeile über keyword einen eigenen automatisch generierten text mit einer Funktion übergeben ?

z.b.: author dieses quellcodes: xxx

und sowas ?
Einfach diesen netten Code ausgeben, bevor du mit dem Suchen nach dem Keyword und dem Kopieren des Dateiinhaltes beginnst ;)


:evil: So ich habe dir gerne geholfen, aber: Wenn du demnächst mal wieder so ein Problem hast ist die erste Regel: Eigenes Gehirn einschalten!!! Sonst lässt du es dir immer von jemand anderem machen und lernst es nie und das will hier niemand erreichen. :evil:

Mfg androphinx
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

ich habe es schon hinbekommen DANKE! :twisted:
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Antworten