Zum Inhalt springen

Alex_winf01

Mitglieder
  • Gesamte Inhalte

    644
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Beiträge von Alex_winf01

  1. Leider funzt es noch nicht, die Zeile wird trotzdem noch mit in die neue Datei genommen.

    Hier der Code:

    
    #include <stdio.h>
    
    #include <iostream>
    
    #include <fstream>
    
    #include <cstring>
    
    
    int main(void)
    
    {
    
        FILE *datei = fopen("Kat_A2_5.csv", "r");
    
        FILE *datei_neu = fopen("Kat_A2_5_MAS_ueberarbeitet.csv", "w+");
    
    
        if (datei != NULL)
    
        {
    
            char line [128];
    
            while (fgets(line, sizeof line, datei))
    
            {
    
                if(strcmp("text", line) == 0)
    
                {
    
                    continue;
    
                }
    
                else
    
                {
    
                    fputs(line, datei_neu);
    
                    fputs("2008;", datei_neu);
    
                    fputs("true", datei_neu);
    
                    fputs("false", datei_neu);
    
                    fputs("false", datei_neu);
    
                }
    
            }
    
            fclose(datei);
    
            fclose(datei_neu);
    
        }
    
        else
    
        {
    
            // Fehlerbehandlung
    
        }
    
    
        return 0;
    
    }
    
    

  2. 
    char line [128];
    
    while(fgets(line, sizeof line, datei))
    
    {
    
         if(line = "Text");
    
         {
    
            fputs(line, datei_neu);
    
            fputs("true;", datei_neu);
    
            fputs("false;", datei_neu);
    
            fputs("false;", datei_neu);
    
         }
    
    }
    
    
    Mein Problem: Text ist kein char. Wie kann ich in C einen String definieren? In Java geht das so:
    String abc = "Irgendein Text";

    Wie kann ich vergleichen, dass in line = "Text" steht?

  3. @ Klotzkopp

    Dann habe ich mich unklar ausgedrückt. Die Datei ist als csv abgespeichert.

    Zur Systematik, wo true oder false steht:

    Ab der Überschrift steht da true; false; false. Ab Überschrift 1 (Kein Tippfehler) steht dann da false; true; false. Mir geht es nur darum, dass die Zeile Überschrift nicht mit in die neue Datei kommt und wie ich abprüfen kann, in welcher Zeile Überschrift 1 steht.

  4. @ TDM

    Danke schon mal für Deine Antwort. Ich habe noch folgende Frage:

    Angenommen, so sieht die Datei aus:

    Überschrift

    AA0505

    BB0606

    Überschrift 1

    CC0707

    DD0808

    Die Werte sollen in eine Datei geschrieben werden, die wie folgt aussehen soll:

    AA0505;true;false;false

    BB0606;true;false;false

    CC0707;false;true;false

    DD0808;false;true;false

    Kannst Du mir da einen Ansatz zu geben?

  5. #include <stdio.h>
    
    #include <iostream>
    
    #include <fstream>
    
    
    void datei_lesen()
    
    {
    
            FILE *datei;
    
            char zeichen;
    
            int c = 0;
    
    
            datei = fopen("Kat_A2_5.xls", "r");
    
    
            if(datei == NULL)
    
            {
    
                printf("\nDatei kann nicht geöffnet werden\n");
    
            }
    
            else
    
            {
    
                c = fgetc(datei);
    
                while(!feof(datei))
    
                {
    
                    zeichen = getc(datei);
    
                    putc(zeichen, stdout);
    
                }
    
                fclose(datei);
    
                printf("\n\nDanke");
    
            }
    
    }
    
    
    void datei_schreiben(void)
    
    {
    
        FILE *datei;
    
        datei = fopen ("Kat_A2_5_MAS_ueberarbeitet.csv", "w+");
    
    
        if(datei == NULL)
    
        {
    
            printf("\nDie Datei konnte nicht geöffnet werden!\n");
    
        }
    
        else
    
        {
    
            fprintf(datei, "'");
    
            fprintf(datei, "2008");
    
            fprintf(datei, "'");
    
            fprintf(datei, ";");
    
            fclose(datei);
    
        }
    
    }
    
    
    int main()
    
    {
    
        datei_lesen();
    
        datei_schreiben();
    
    
        return 0;
    
    }
    So sieht das derzeit bei mir aus. Jetzt habe ich folgende Fragen: 1) Wie kann ich die Variable zeichen öffentlich machen, dass ich auch in de Methode datei_schreiben() drauf zugreifen kann? 2) Wenn ich sage
    zeichen = getc(datei);
    
    strncpy(zeichen2, zeichen, 6);

    bekomme ich die Fehlermeldung

    "initalizing argument 1 of 'char* strncpy(char*, const char*, size_t)'

    invalid conversion from 'char' to 'const char*'

    Wie muss ich die Methode strncpy korrekt anwenden?

  6. Folgendes bekomme ich zurück:

    Building to ensure sources are up-to-date

    Build succeeded

    Selecting target:

    Debug

    Adding source dir: C:\Dokumente und Einstellungen\Haeale\Eigene Dateien\Test\

    Adding source dir: C:\Dokumente und Einstellungen\Haeale\Eigene Dateien\Test\

    Adding file: bin\Debug\Test.exe

    Starting debugger:

    done

    Registered new type: wxString

    Registered new type: STL String

    Registered new type: STL Vector

    Setting breakpoints

    Debugger name and version: GNU gdb 6.7.50.20071127

    Child process PID: 1832

    Program received signal SIGILL, Illegal instruction.

    In __w32_sharedptr_initialize () ()

  7. Ist das richtige Verzeichnis. Ich kann auch jetzt compilieren, bekomme aber folgende Fehlermeldung:

    Compiling: main.c

    Assembler messages:

    FATAL: Can't create obj\Debug\main.o: No such file or directory (ENOENT)

    Process terminated with status 1 (0 minutes, 0 seconds)

    1 errors, 0 warnings

    Folgender Code:

    #include <stdio.h>
    
    #include <stdlib.h>
    
    
    int main()
    
    {
    
        printf("Hello world!\n");
    
        return 0;
    
    }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...