Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Zeichenkette in Datei speichern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    26.11.2002
    Beiträge
    61

    Zeichenkette in Datei speichern

    Ich will eine zeichenkette in eine Datei speicher und habe mir das so gedacht:
    Beendet wird die eingabe mit dem '!'.
    Ist das so ok oder entspricht das nicht dem standart?
    Weil in meinem Buch benutzen sie dafuer fgets aber das soll man ja nicht.Weil es den string ueberschreibt.

    Code:
    void datei_bearbeiten(char *dateiname)  {
    FILE *datei_zeiger;
    char zeile[82];
    fflush(stdin);
    datei_zeiger=fopen(dateiname,"a");
    
    
    
    			 while(zeile[0]!= '!') {
    
    					 fgets(zeile,81,stdin);
    			 fprintf(datei_zeiger,"%s\n",zeile);
    			 }
    	  
    }
    Edit : Bitte, bitte CODE-Tags benutzen.
    Geändert von ReSeT (04-02-2003 um 10:56 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.02.2002
    Ort
    2nd level cache
    Beiträge
    90
    Hi!

    Ich würde das so lösen:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAXLINES 1000
    
    int main()
    {
      FILE *fd;
      int count = 0;
      int line = 0;
      int i;
      char c;
      char buffer[256];
      char *lines[MAXLINES];
      char *filename = "test.txt";
    
      while ((c = fgetc(stdin)) != EOF) {
        buffer[count++] = c;
        if (c == '\n') {
          buffer[count++] = '\0';
          if ((lines[line] = malloc(strlen(buffer)+1)) == NULL) { 
            fprintf(stderr, ": memory allocation failed.\n");
            exit(-1);
          }
          strncpy(lines[line],buffer,strlen(buffer)+1);
          count = 0;
          line++;
        }
      } 
    
      if ((fd = fopen(filename,"w")) == NULL) {
        fprintf(stderr,"error opening %s\n",filename);
        exit(-1);
      }
    
      for (i = 0;i < line;i++) 
        fprintf(fd,"%s",lines[i]);
        
      fclose(fd);
    
      return 0;
    }
    GreetZ

    ReSeT
    Einmal schwarzen Tee mit Milch und Zucker bitte!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •