Dateien einlesen



  • Hallo habe ein Problem
    Ich möchte ein txt datei einlesen unter UNIX
    und am Ende jeder Zeile ein Ein Zeichen anhängen.
    Wie heist der Befehl dazu??????



  • Hi,

    für Datei lesen + was anhängen + Datei wieder speichern bibt es keinen Befehl 🙂



  • Original erstellt von <Golem>:
    Ich möchte ein txt datei einlesen unter UNIX
    und am Ende jeder Zeile ein Ein Zeichen anhängen.
    Wie heist der Befehl dazu??????

    fopen , fprintf <-- schau ma nach denen ..



  • #include <stdio.h>
    /* erster Ansatz, ungetestet */
    
    /* in und out dürfen nicht dieselbe Datei sein */
    void append_to_each_line(FILE *in, FILE *out, char c) {
      if (!feof(in)) {
        int d;
        while ((d = getc(in)) != EOF) {
          if (d == '\n')
            putc(c, out);
          putc(d, out);
        }
      }
    }
    
    void copy(FILE *in, FILE *out) {
      if (!feof(in)) {
        int c;
        while ((c = getc(in)) != EOF)
          putc(c, out);
      }
    }
    
    int main() {
      FILE *file = fopen("meine.txt", "r");
      FILE * temp;
    
      if (!file) { perror("fopen"); exit(1); }
    
      temp = tmpfile();
      if (!temp) { perror("tmpfile"); fclose(file); exit(1); }
    
      append_to_each_line(file, temp, 'A');
    
      fclose(file);
      file = fopen("meine.txt", "w");
    
      rewind(temp);
    
      copy(temp, file);
      fclose(file);
      fclose(temp);
      return 0;
    }
    

    [ Dieser Beitrag wurde am 13.03.2003 um 13:44 Uhr von Bashar editiert. ]


Anmelden zum Antworten