Xcode stürzt ab ....

B

brakbekl

Aktives Mitglied
Thread Starter
Dabei seit
16.02.2012
Beiträge
175
Reaktionspunkte
1
Hallo,

bin immer noch beim gestrigen Problem. Das Programm funktioniert auf Windowsrechner. Es hapert mit der Pfadangabe bei Mac.

Es passiert folgendes: Gebe ich am Anfang der Pfadangabe nach den Gänsefüsschen und vor dem ersten Slash einen Punkt ein, wie hier von FalkGottschalk empfohlen, stürzt das Programm ab. https://www.macuser.de/threads/xcode-datei-einlesen-c.619898/

Das kanns nicht sein....

Ich she auf dem Finder, daß die Datei im selben Verzeichnis, wie die Main ccp des Programms, aber dort hab ich sie mit Drag und Drop hingezogen und das heißt, daß sie dort nicht wirklich ist ... wo aber ist sie wirklich? Das müste ich herausfinden ....

Was ist zu tun?

#include <fstream>
#include <iostream>
#include <string>
usingnamespacestd;
int z=0;
int main(/*int argc, char *argv[]*/)
{
fstream f("/Macintosh HD/Benutzer/FOR/Schreibtisch/Xcode/PZSummenuntersucher/PZSummenuntersucher/huhu.dat", ios_base::in); // Datei-Handle
string s;
f.open("/Macintosh HD/Benutzer/FOR/Schreibtisch/Xcode/PZSummenuntersucher/PZSummenuntersucher/huhu.dat", ios_base::in); // Öffne Datei aus Parameter
while (!f.eof()) // Solange noch Daten vorliegen
{
getline(f,s); // Lese eine Zeile
cout<<z<<" "<<s<< "\n"; // Zeige sie auf dem Bildschirm
z++;
if (z == 10) break;
}
f.close(); // Datei wieder schließen
return 0;
}
 
Zuletzt bearbeitet:
Ziehe die betroffenen Ordner mal in ein Terminal Fenster.

Der Pfad /Macintosh HD/Benutzer/FOR/Schreibtisch/..... sieht falsch aus.
OS X nutzt eigentlich die original englischen Verzeichnisnamen und zeigt im Finder nur aufgrund der .localized Datei den Pfad in GUI UIL

Ich vermute mal der Pfad wird in Wahrheit

/Users/FOR/Desktop/.... lauten.

Macintosh HD wird verm nicht benötigt oder falls doch, dann so:

/Volumes/Macintosh HD/FOR/Desktop/...
 
Edith meint:

/Volumes/Macintosh HD/Users/FOR/Desktop/...
 
eventuell solltest du dann sagen dein programm stürzt ab, es ist ja nicht Xcode ;)
und wenn du schon dabei bist programmieren zu lernen, dann vielleicht schon dabei mal angewöhnen ordentlich zu programmiern.
normal solltest du überprüfen, ob die datei auch geöffnet wurde, bevor du darauf zugreifst:
http://www.cplusplus.com/reference/fstream/fstream/is_open/
 
Wie kann man denn bewirken, daß das im Finder alles Englisch angezeigt wird?
 
Danke für den Link, aber es funktioniert auf einem anderen Rechner (nicht Mac). An den nicht beherrschten C++ Künsten liegt es also nicht ....

wenn der pfad nicht stimmt, funktioniert es auf keinem rechner ;)
ergo: du solltest deine künste verbessern…

die meisten leute prüfen vor einer division auch nie auf null ;)
 
Den Pfad lese ich im Finder ab .... dann muß er ja stimmen ...oder?

kleiner trick hier:
öffne das terminal und zieh die datei ins terminal fenster.
da kriegst den wirklichen pfad.
 
Danke für den Tip, aber hat nicht geholfen. Dabei bleibt übrigens Schreibtisch erhalten und wird nicht mit Desktop getauscht..... habs in bash und in der Normalshell probiert ....
 
Danke für den Tip, aber er half nicht weiter. habs in der NormalShell und in bash probiert ... Schreibtisch bleibt übrigens in der deutschen Form erhalten....
 
das sollte nicht der fall sein, weil die lokalisierten pfade nur im finder existieren und nicht unter dem dateisystem.
hast du eventuell selbst mal einen ordner namens Schreibtisch erstellt oder einen symlink/alias angelegt zum auslagern?
 
hast du eventuell selbst mal einen ordner namens Schreibtisch erstellt oder einen symlink/alias angelegt zum auslagern?

Das will ich nicht ausschließen, wenn aber nur in xcode, wenn ich da bei der Erstellung von irgendwas rumgefummelt habe.

Kuk mal hier so siehts aus.

Soll ich noch posten was in den falsche Schreibtischen drin ist?
 
also der "echte" Schreibtisch ist das ding mit dem icon ordner, der heißt im dateisystem dann Desktop.
den anderen Schreibtisch solltest (falls leer) dann mal löschen, genauso wie Schreibtischa …
 
Wenn ich den lösch, stellt er ihn ratz-batz wieder her .... Schreibtischa auch...

übrigens sind in dem unechten die langen Schwanzdateien....



also alle Duplikate von im echten Schreibtisch/Xcode/... schon existenten Dateien nur eben mit Schwanz...
 
Zuletzt bearbeitet:
Hast Du in Deinem Code irgendwo ein "Erzeuge Directory, wenn nicht existent" drin?
 
Hast Du in Deinem Code irgendwo ein "Erzeuge Directory, wenn nicht existent" drin?

im Code mit Sicherheit nicht, der ist so kurz und ohne if. Aber irgendwo mag das so eingestellt sein, bloß Wo bei Xcode? Oder stellt fstream.f ein neues Verzeichnis her? Wohl doch mitnichten!
 
Schau mal in den Xcode Einstellungen unter Locations vermutlich hast du da einen eigenen Pfad angegeben. Xcode nutzt normalerweise verschieden Unterordner in ~/Library/Developer/Xcode für alle Dateien.
 
das sieht doch noch temp dateien aus.
irgendwas ist da also nicht so dolle eingestellt, das Xcode projekt heißt aber nicht Schreibtisch oder?
 
Zurück
Oben Unten