Datei einlesen in Xcode c++

J

jonathanxc

Mitglied
Thread Starter
Dabei seit
15.12.2021
Beiträge
6
Reaktionspunkte
0
Hey, ich bin noch ganz neu in der Programmierung und wir müssen von unserem Prof aus eine .txt Datei einlesen. Der Code ist richtig und funktioniert auch (habe es auf windows getestet). Allerdings kann ich die .txt Datei nicht einlesen. Die Datei liegt in dem richtigen Ordner aber es funktioniert einfach nicht. Kann mir jemand sagen was ich falsch mache bzw was ich in die Konsole schrieben muss, damit er die .txt Datei lesen kann?
Vielen Dank
Bild 15.12.21 um 22.15.jpg
 
Willkommen im Forum.

> Der Code ist richtig und funktioniert auch (habe es auf windows getestet)

Was heißt das? es wird "passt" ausgegeben?

> Allerdings kann ich die .txt Datei nicht einlesen.

Also es wird nicht passt, sondern Fehler ausgegeben?

> bitte keine screenshots als code hier einfügen. es gibt ja extra den [ CODE ] tag.

ich würde es mal so versuchen:

Code:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
    char name[10000];
    cout << "was" << endl;
    cin >> name;
    ifstream datei(name);
    if (!datei)
    {
        cerr << "fehler " << strerror(errno) << endl;
    }
    else
    {
        cout << "passt" << endl;
        stringstream buffer;
        buffer << datei.rdbuf();
        cout << buffer.str() << endl;
    }
    return 0;
}

im Fehlerfall einfach mal mit "strerror(errno)" den eigentlichen Fehler ausgeben.

Und im Erfolgsfall einfach mal die Datei einlesen und ausgeben.
 
danke für den Hinweis, allerdings dürfen wir auch nur iostream und stream verwendete... damit entfällt leider die Option
 
Was gibst du denn ein als name?
Pfade halt beachten.
 
Code:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    char name [10000];
    cout << "was" << endl;
    cin >> name;
    ifstream datei(name);
    if (!datei)
    {
        cout << "fehler" << endl;
    }
    else cout << "passt" << endl;
    return 0;
}
 
das wäre nochmal der code
 
als name soll Datei.txt reingeschrieben werden um eine Textdatei aufzurufen
 
Versuch mal den vollen Pfad oder ./Datei.txt
 
habe ich schon alles probiert, da klappt leider nichts
 
Tja, dann vernünftig coden und den Error Code auslesen, wie schon vorgeschlagen wurde.
Oder gib mal das working directory aus.
 
Was genau passt denn nicht? Wenn ich deinen C++ Quelltext kompiliere und ausführe funktioniert es. Bei vorhandener Datei kommt ein "passt" und bei nicht vorhandener Datei ein "fehler".

Code:
% g++ demo.cpp -Wall
% ./a.out
was
test.txt
passt
% ./a.out
was
nicht-da.txt
fehler
%
 
Zurück
Oben Unten