XCode[C++] Ofstream ausgabe im Terminal

Save_true überarbeite ich mal
Aber wenn ich das prog im Debug Ordner starte passiert im Ordner einfach nichts
 
Weil du von dort aus versuchst in einem darin *nicht* vorhandenen Ordner "Debug" zu schreiben!
 
Du hast hier zwei Code Beispiele gepostet. Einmal:

Code:
ofstream autosave;
autosave.open("Debug/save.txt");

und einmal:

Code:
ofstream autosave;
autosave.open("save.txt");

Ich habe zweiteres probiert.
 
@_ebm_

Nein. Ich versuche im Ordner Debug eine Datei zu erzeugen. Nicht in einem Ordner Debug im Ordner Debug.
Code:
ofstream("Debug/save.txt");
habe ich versucht als das erste nicht geklappt hat.
 
Geht es denn unterdessen? Ob du Fehler bekommst und wie du das Programm aufrufst hast du leider noch nicht beantwortet.
 
Das Problem ist, wenn du es via Xcode ausführst, oder mittels Terminal im Debug/Release Ordner, bist du an der Stelle:
<projectdir>/build/Debug/ oder
<projectdir>/build/Release/

Dort liegt die ausführbare Datei. In welchem auch immer du bist, ob Debug oder Release, gibt es darin keinen Ordner namens "Debug". Entweder du nutzt "../Debug/save.txt" oder "save.txt" um es im gleichen Verzeichnis anzulegen, in dem sich auch die ausführbare Datei befindet. Erstere Version wäre semioptimal, da du in das Verzeichnis über Debug wechselst, um danach wieder rein zu gehen.
 
Ich habe die Lösung gefunden. Xcode(übrigens habe ich die version 3 benutzt habe aber 4) speichert Dateien die erzeugt werden immer automatisch im ausgeführten Verzeichnis ab. Das Terminal hat, wie ich zufällig festgestellt habe, die Datei im User-Ordner gespeichert. Ich habe den Pfad jetzt komplett eingegeben, und es funktioniert perfekt.

Und mit
Code:
...("Debug/save.txt");
meinte ich, das die Datei(UNIX) evt. Im build ordner speichert.
Vielen Dank.
 
Ok. Gleich zur nächsten Frage ;)
Ich will das eingegebene drucken.
...
Code:
if (INTEXT[COUNTSTRING]=="print-") {
			
			ofstream outprint ("/dev/lp0"); 
			if(!outprint) 
			{ 
				cout << "NO PRINTER" << endl; 
				 
			} 
			
			outprint << INTEXT << endl;
		    
			
			outprint.close(); 
			
		}
funktioniert nicht. NO PRINTER steht dann immer da.

EDIT:
P.S: Das ganze läuft von *diesem* MacBook Pro über einen alten iMac und Airport zum Drucker. Evt. ist das ein Problem?...
Danke
 
Existiert /dev/lp0? Bei mir zB nicht. (Netzwerkdrucker) Ich bin mir auch nicht sicher, ob ein lokaler Drucker als lp? auftaucht.

PS. soll das nur unter MacOS laufen oder willst Du das portabel halten? Drucken ist eine Betriebssystemfunktion, die du wahrscheinlich nicht portabel hinbekommst.
 
Dann arbeite Dich mal durch die Apple Doku durch ;) Ich hab da gerade ein paar Seiten zu gefunden, Plain-C, sollte also auch mit C++ funktionieren.

PS. Nicht böse sein, warum C++ und nicht Obj-C?

PS2. Ich pack die Links nicht hier her weil du selbst lesen kannst und dein Hirn funktioniert ;)
 
Google arbeitet für mich... ;)
Ich habe als erstes C++ entdeckt, in einem WIRKLICH gutem Buch. Das war richtig gut erklärt. Seit da habe ich mich in C++ ein bisschen eingearbeitet. Ich habe versucht ObjC zu lernen, aber die Geduld hat mir gefehlt, und nach dem SuperC++Buch dachte ich, das das Buch zu ObjC einfach schlecht geschrieben war.
 
wenn du objc meinst, findet man da eine Menge...
Was anderes sah ich da nicht.(Suche)
 
Ich hab da nicht nur ObjC Code gesehen. Der ganze Core-Bereich ist in Plain C geschrieben.
 
Zurück
Oben Unten