Datein einlesen und in anderer Datei ausgeben



  • Hallo bin C Anfänger
    Ich möchte ein C programm in Microsoft Visual Studio .net 2003 schreiben
    und wollte fragen ob mir da jemand helfen kann.

    int main (void) {
    
     input_stream = fopen( INPUTFILE1, "r");
     output_stream = fopen( OUTPUTFILE, "a");
    
     fprintf (output_stream, "\n%s;"); 
    
    fclose (output_stream);
    fclose (input_stream); 
    }
    

    Das ist jetzt doch richtig

    Meine output datei ist aber nicht lesbar was muss ich hier

    fprintf (output_stream, "\n%s;");
    

    reinschreiben bzw stattdessen schreiben um einfach die daten aus der input datei in die outputdatei zu schreiben????

    Meine input Datei schaut so aus :
    1, 2, 3, 4, 5, 6
    5, 3, 5, 4, 9, 7
    10, 11, 8, 6, 6, 4
    123, 8, 15, 2, 14, 168



  • haben INPUTFILE und OUTPIUTFILE richtige Name? Überpfüfe mal auf NULL also:

    if (fopen("c:\\test.txt","r")==NULL)
    printf ("ERROR: Datei konnte nicht geöfnnet werden!");
    


  • input_stream und output_stream müssen vom datentyp FILE* sein.
    schau dir mal die funktionsbeschreibungen von fgetc() fgets() fprintf() fscanf() an
    und wirf auch mal einen blick in die FAQ, z.b. hier ----->
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39351.html



  • Hab ich alles gemacht

    #include <stdio.h>
    #include <string.h>
    /* Sind die Bibliotheken die ich benutze und ich definiere die FIles die ich brauch*/
    #define INPUTFILE1 "PSO.txt"
    /*#define INPUTFILE2 "BSP2.txt"
    #define INPUTFILE3 "BSP3.txt"*/
    #define OUTPUTFILE "test.txt"
    
     FILE * input_stream, *output_stream;
    
    int main (void) {
    
     input_stream = fopen( INPUTFILE1, "r+");
     output_stream = fopen( OUTPUTFILE, "w+");
     printf(OUTPUTFILE,"test");
     fprintf (output_stream, "%c"); 
    
    fclose (output_stream);
    fclose (input_stream); 
    }
    						/*Kommentar*/
    /*Diverse Zeichen 
      \n    =  Zeilensprung (Linefeed)
      \r    =  Wagenrücklauf (Carriage Return)
      \t    =  Tabulatorzeichen
      \b    =  Backspacezeichen
      \"    =  das Zeichen "
      \\    =  das Zeichen \
      */
    

    Krieg aber nur so ein ergebniss.

    O
    


  • bei deinem fprintf fehlen noch parameter, nämlich die für die parameter im formatstring.



  • Hab es so versucht

    fprintf (output_stream, "%x");
    

    geht trotzdem nicht
    Muss das Test bleiben



  • als erstes solltest du wohl etwas aus der Inputdatei einlesen und in einer Variable speichern.

    danach solltest du dir die funktion fprintf() noch mal genauer ansehen (printf() auch)



  • ich wiederhole mich gerne nochmal:
    nach dem formatstring im fprintf() muss noch ein parameter kommen.
    jetzt kapiert?



  • und wenn du deine Dateinamen so, also ohne absolute Pfadangabe, definiert hast, dann müssen die Dateien im gleichen Ordner wie die .exe von deinem Programm sein. Und überprüf bei fopen auf NULL ! 😉


Anmelden zum Antworten