Pfad in String ausführen
-
Hallo,
da ich sehr neu bin hier im Forum ist dies meine erste Frage.
Ich habe in einem String in C++ einen Pfad stehen:
<pre>
#include<iostream.h>void main()
{
string pfad;
pfad="C:\\test\\test.txt";
//jetzt will ich die Datei test.txt öffnen, aber wie geht das????};
</pre>jetzt will ich die Datei test.txt öffnen, aber wie? Das ist mein Problem, ich habe es auch schon mit system(pfad); vesucht, hat aber nicht funktioniert.
Was mache ich falsch?
mfg
utzer
-
Recht schlimm, dein Code. Fängt mit der ersten Zeile an:
#include<iostream.h> // Nicht-Standard-Header #include <iostream> // wäre richtigvoid main() // falsch int main() // richtigstring pfad; // Kein Namensraum angegeben std::string pfad; // eine Möglichkeit using namespace std; // andere Möglichkeit (nachher kann man 'string' schreiben)(Text-)Dateien bearbeitet man grundsätzlich mit FileStreams (Header
<fstream>). Für anderes reicht die Standardbibliothek nicht aus.Und benutze bitte [cpp]-Tags, das HTML-
<pre>funktioniert hier nicht.
-
Wenn du die Datei lesen willst, kannst du fopen+fread oder ifstream benutzen.
-
Hallo,
ich dachte eigentlich auch nicht an das bearbeiten der Datei, sonder ich möchte, dass sich dann der Editor startet, und darin die Datei angezeigt wird.
So funktioniert es ja:
system("C:\\test\\test.txt");so wird der Editor gestartet und die Datei test.txt angezeigt. Jetzt ist es allerding in meinem Pogramm so, dass der Pfad in einem String vorliegt und nicht "fertig" beim programmiere eingegeben werden kann.
Wie löse ich dann das???
mfg
utzer
-
system(pfad.c_str());Ist aber nicht gerade portabel. Beachte bitte auch die Hinweise aus meinem vorigen Post; das ist nicht C++, was du da gemacht hast.
-
Hallo,
ok, vielen, vielen, Dank, das hat super funktioniert!
überglücklich: utzer
-
ein Paradebeispiel für die Ignorierung sämtlicher Warnungen ^^
-
@ utzer:
Nochmals: Bitte schau dir meinen ersten Post in diesem Thread genau an. Ich hab die Bemerkungen dort nicht aus Spass aufgeschrieben. Ich hoffe, du nimmst diese zur Kenntnis.
-
Hallo,
Nexus schrieb:
@ utzer:
Nochmals: Bitte schau dir meinen ersten Post in diesem Thread genau an. Ich hab die Bemerkungen dort nicht aus Spass aufgeschrieben. Ich hoffe, du nimmst diese zur Kenntnis.ja, ich habe die Warunungen schon gleich zur Kenntnis genommen.

mein Cod sieht jetzt so aus:#include <iostream> using namespace std; int main() { string pfad; pfad="C:\\test\\test.txt"; system(pfad.c_str()); system("pause"); return 0; };Wie ist das eigentlich mit dem
return 0;was macht das und wofür ist das gut?

mfg
utzer
-
Mit return kannst du den Rückgabewert einer Funktion bestimmen. Beispielsweise könnte eine Funktion "Addiere" zwei Parameter entgegennehmen (Operand1+Operand2) und das Ergebnis per return-Anweisung zurückgeben.
//Rückgabe Parameter double Addiere(double o1,double o1);Das gilt auch für die main-Funktion. Deren Rückgabewert kann man z.B. in einer Batch-Datei als errorlevel (typisch: if errorlevel 1 ...) weiterverarbeiten.
Da du offensichtlich einfach drauf losprogrammierst, empfehle ich dir, dir ein gutes Anfänger-Buch oder -Tutorial 'reinzuziehen. Der Aufbau einer Funktion zählt ebenso wie Datentypen zu den absoluten Grundlagen und wird in jeder Einsteigerlektüre behandelt.
Übrigens kannst du dir das Semikolon hinter der schließenden Klammer der main-Funktion sparen.
-
Hallo,
ok, vielen Dank für die Information, so ein Buch habe ich schon, ich kam allerdings noch nicht zu lesen.
(Bin Schüler, 15, habe sehr wenig Zeit)Naja, werd mal am Wochenende reinschauen...
mfg
Doran