Datei öffnen und Zeile ausgeben



  • Hi Leute,
    ich versuche nun schon eine Zeit lang entlich mit C eine Textzeile aus einer .txt auf meinem Desktop auszugeben, aber es will zum verrecken nicht funktionieren.

    Hier der Code:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv) {
    
        FILE *f = fopen("C:\Dokumente und Einstellungen\Fishmasta\Desktop\textdatei.txt","r");
        //fread(&f,2,f);
    
        return 0;
    
    }
    

    Ich weiß, es ist fast garnichts aber egal wie ich es auch versuche die Ausgabe in der Konsole klappt einfach nicht.
    Ich hoffe ihr könnt mir helfen.
    THX!



  • Du solltest schon wissen was du willst, bevor du hier fragst; erst schreibst du, du willst was auf dem Desktop ausgeben (was auch immer das bedeuten soll) und dann willst du was auf der Konsole ausgeben.
    Hast du dich schon entschieden?



  • Damit meinte ich, dass sich die .txt auf dem Desktop befindet.
    Die Textzeile in dieser Datei soll dann in der Konsole ausgegeben werden.
    Sorry wenn die Formulierung unglücklich war...



  • 1. Pfadangaben in Windows müssen mit "\\" im Programmcode repräsentiert werden.
    2. Eine Fehlerbehandlung bei Dateien ist Pflicht.

    FILE * pFile;
    
    pFile = fopen ("myfile.txt" , "r");
    if (pFile == NULL) perror ("Error opening file");
    else {
       //MACHE WAS MIT DER DATEI
    
       fclose (pFile);
    }
    return 0;
    


  • Der Compiler behandelt das '\' in Zeichenketten besonders.
    Siehe: http://de.wikipedia.org/wiki/Escape-Sequenz#Escape-Sequenzen_in_C_und_verwandten_Programmiersprachen

    Das '\t' von "\textdateien" wird als Tabulator interpretiert.

    Diese Umwandlung gilt für jedes Stringliteral in C und macht der Compiler, nicht printf.



  • Probier es mal so,
    lass die Datei öffnen, dann speichere das was du ausgegeben haben willst in
    einer Variable und diese kannst du dann mit printf ausgeben lassen


Anmelden zum Antworten