C++ Befehle funktioniert nicht in Xcode

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • C++ Befehle funktioniert nicht in Xcode

    Hallo, ich arbeite gerade privat Dirk Louis C++ durch. Bislang hat alles hervorragend funktioniert unter Xcode 6.1.1. Jetzt bin ich aber beim Schreiben und Lesen aus, bzw. in eine Datei. Ich kriege das nicht hin. Dabei gehe ich folgendermassen vor: File - New - Projekt - Command Line Tool.

    und dann kommt der Code:

    #include <iostream> // std::cout
    #include <fstream> // std::fstream


    int main () {
    std::fstream fs;
    fs.open ("/Benutzer/FOR/Schreibtisch/Xcode/auslesetest/auslesetest/test.txt");
    if (fs.is_open())
    {
    fs << " ipsum";
    std::cout << "Operation successfully performed\n";
    fs.close();
    }
    else
    {
    std::cout << "Error opening this file";
    }
    return 0;
    }
    (Gibt es hier keinen Code Editor?)

    Ich habe die Datei test.txt mit Textedit geschrieben und in denselben Ordner geschoben, wo die main.cpp des Macros ist.

    Das Problem schein bei Xcode zu liegen. Welcher Xcode-Kenner kann helfen? Ich habe schon viel rumexperimentiert mit der Pfadangabe, so mit Backslash, Doppelbackslash, Slash und Doppelslasch, punkt Slash etc.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Krab ()

  • Okay, das System antwortet: Operation successfully performed
    Program ended with exit code: 0

    Dann mach ich folgendes Progrämmchen:

    int main()
    {
    fstream f;
    f.open("test44.txt", ios::out);
    f<<"12345"<<"\n";
    f.close();
    std::cout << "Daten geschrieben \n";
    return 0;
    }

    Es antwortet: Daten geschrieben, aber ich find die Datei nicht im Ordner wo main.cpp ist ....

    und dies versteht er gar nicht: f.open("test44.txt", ios::out | trunc);

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Krab ()

  • gritsch schrieb:

    die datei liegt auch nicht dort sondern in der current working directory. lass dir die einfach ausgeben: getcwd
    Wo ist das current working directory ich willl die Datei über die Spotlight-Lupe suchen, und die findet sie regelmäßig nicht ....

    Was ist das für ein Verzeichnis, das CWD

    Danke für die Info bisher ...

    wenn ich getcwd vor return 0 setze, kennt er das nicht ..... er macht einen roten Punkt ...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Krab ()

  • du sollst dir die current working directory ausgeben lassen (oder sie setzen), dann davon hängt ab wo dateien mit relativen pfadangaben gespeichert werden (und genau das machst du).

    aber du schlitterst von einem problem zum nächsten ohne das vorherige mit den genannten lösungsmitteln zu lösen!
  • gritsch schrieb:

    du sollst dir die current working directory ausgeben lassen (oder sie setzen), Wo bzw. wie geht das?




    dann davon hängt ab wo dateien mit relativen pfadangaben gespeichert werden (und genau das machst du).

    aber du schlitterst von einem problem zum nächsten ohne das vorherige mit den genannten lösungsmitteln zu lösen!
    Den Eindruck habe ich auch. Dirk Louis scheint nicht auf Xcode zu programmieren. Doch dies hier ist ein grundsätzliches Problem, welches, vermutlich mit dem Unixähnlichen OS zu tun hat. Ich kann mir bis jetzt nicht erklären, warum er das engl. Desktop will, statt des deutschen Schreibtisches, obwohl der bei mir angezeigt wird.

    Das Thema CWD existiert in dem Buch nicht. Weiss jemand dazu irgendwas im Netz? Außer den Wiki-Erklärungen zu relativen und absoluten Pfadangaben hab ich nichts gefunden. Ich habe bisher meine erzeugten Daten von der Konsole nach Word oder Excel kopiert per Hand, aber das kann's ja nicht sein. Kann man den Build Settings beeinflussen, wo so eine zu bildende Datei abgelegt werden soll und später zu finden ist?

    Danke für die bisherigen Antworten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Krab ()

  • Krab schrieb:

    gritsch schrieb:

    du sollst dir die current working directory ausgeben lassen (oder sie setzen), dann davon hängt ab wo dateien mit relativen pfadangaben gespeichert werden (und genau das machst du).

    aber du schlitterst von einem problem zum nächsten ohne das vorherige mit den genannten lösungsmitteln zu lösen!
    Den Eindruck habe ich auch. Dirk Louis scheint nicht auf Xcode zu programmieren. Doch dies hier ist ein grundsätzliches Problem, welches, vermutlich mit dem Unixähnlichen OS zu tun hat. Das Thema CWD existiert in dem Buch nicht. Weiss jemand dazu irgendwas im Netz? Ich habe bisher meine erzeugten Daten von der Konsole nach Word oder Excel kopiert per Hand, aber das kann's ja nicht sein.
    Danke für die bisherigen Antworten.
    also das hat weder was mit OS X noch mit UNIX noch mit Xcode zu tun.
    das current working directory prinzip gibt es auch in anderen systemen und definiert eben auf welchen pfad genau du zugreifst wenn du einen relativen pfad (ohne "/" vorne dran anstelle eines absoluten angibst).

    google einfach mal nach current working directory, getcwd oder verwende ganz einfach einen absoluten pfad den es auch gibt (bzw den ordner in dem das file liegen soll).
  • Wenn du dein Programm über Xcode startest, ist standardmäßig das current working directory das selbe Verzeichnis, wo das Programm liegt und das ist der build Ordner. Links im Project Navigator findest du unter dem Ordner Product dein Programm. Mit Ctrl-Klick auf dein Programm dann „Show in Finder“ auswählen, voila.

    Krab schrieb:

    Kann man den Build Settings beeinflussen, wo so eine zu bildende Datei abgelegt werden soll und später zu finden ist?
    In den Build Settings nicht, aber im Scheme. Menü Product -> Scheme -> Edit Scheme... aufrufen, Häkchen bei „Use custom working directory:“ setzen und das gewünschte Verzeichnis auswählen.
  • Danke an alle für die Tips, besonders auch Michael für die Xcode Handhabung Tips.

    Ich mache jetzt was, aber verstehe es nicht bis in's letzte. Ich möchte es aber auch verstehen.

    Würde in bezug auf die Arbeit mit dem OS dieses Buch weiterhelfen, denn es scheint schon auf den C++ 14 Standard einzugehen. Kennt es jemand? Rezensionen gibt es noch nicht auf Deutsch.

    Effektives modernes C++ (Gebundene Ausgabe)


    von Scott Meyers (Autor)

    Ich habe ja schon oft übersetzte Bücher gelesen, manchmal muß man im Original nachschauen, weil der Autor nur schnell und damit flusig gearbeitet hat. Hat der Übersetzer dieses Buches alle Beispiele am Comp durchgenommen?
  • es ist egal welches buch du verwendest, hier geht es um basics die musst die dir einfach nach und nach aneignen (zb unterschied zwischen absoluten und relativen pfaden und wie relative pfade "aufgelöst" werden). deine sichmaschine des vertrauens liefert dir dazu die besten infos - falls du kein englisch kannst, nimm es als anlass es zu lernen - ohne kannst du das programmieren gleich wieder aufgeben.