Dateien Lesen, Schreiben und kopieren



  • HI
    Ich habe ein Problem mit Dateien.
    In der Schule haben wir es nicht sehr gut erklärt bekommen, da sich unser lehrer auch nicht wirklich gut auskennt. Also:
    Ich möchte eine Namensliste aus der Datei Liste.txt einlesen, und in eine andere Textdatei abspeichern. Dabei muss ich aber die Liste formatieren, da alles untereinander steht, wie z.B.:
    Vorname Nachname
    Telefon
    Adresse

    Vorname Nachname
    Telefon
    Adresse
    .
    .
    .

    Ich habe leider keine Ahnung, wie ich da vorgehen soll. Könnt ihr mir da bitte weiter helfen.
    Danke im Voraus.



  • ich bin zwar auch kein profi aber so wirst du probleme bekommen. wenn du zeilenweise lesen würdest hättest du schon bei vornamen name ein problem. zB. Hans Peter Bauer. dein programm weiss nicht ob peter vor- oder nachname ist und versucht es wohlmöglich sogar Bauer als Telefonnummer zu interpretieren. So solltest du vielleicht alles Trennen zB ";" und alles in einer Zeile schreiben.:
    Vorname;Name;Telefonnummer;Adresse;

    Hans Peter;Bauer;;München; // hat keine Telefonnummer

    usw. so kannst du immer bis zum nächsten ";" einlesen. bei zeilenende fängt ein neuer datensatz an.

    ich hoffe ich konnte dir helfen



  • das hat mir leider noch nicht viel geholfen, ich brauche zuerst mal die funktion, damit ich eine datei öffnen und in einer anderen abspeichern kann. Das wäre echt eine große hilfe. Das mit dem formatieren ist nicht so dringend
    danke im voraus



  • FILE *f;
      char buf[100];
      f = fopen("datei.txt", "r"); // r für lesen
        while (!feof(f))
        {
          fgets(buf, 100, f);
          printf("-> %s\n", buf);
        }
      fclose(f);
    

    http://www.infosys.utas.edu.au/info/documentation/C/CStdLib.html



  • na gut dann wollen wir mal 😉

    Datei öffnen und (zeilenweise) lesen und in andere Datei speichern.

    #include <fstream>
    #include <iosream>
    
    using namespace std;
    
    void main()
    {
    ifstream infile ("C:\datei.txt"); //Quelldatei
    ofsteam out ("C:\datei2.txt");   //Zieldatei
    
    char inp[128] //Beliebige Länge einer Zeile
    
    while (!infile.eof())
    {
      infile.getline(inp,128);
      out << inp;  
    }
    
    }
    


  • mist, der c.rackwitz war schneller

    naja, kannst ja beides ausprobieren 😃 😉



  • Oh Herr, lass Link zum FAQ fallen und das Hirn gleich dazu!



  • hi, hab schon die datei eingelesen, weis jedoch nicht wie ich sie z.B. in die Datei 2AHE04.txt abspeichern kann.

    mein Programm zur Zeit:

    #include <stdio.h>
    #include <ctype.h>
    #include <conio.h>
    
    void main ()
    {
    
     FILE *f;
      char buf[100];
      f = fopen("1AHE03.txt", "r"); // r für lesen
        while (!feof(f))
        {
          fgets(buf, 100, f);
          printf("-> %s\n", buf);
        }
    
      fclose(f);
    
    }
    

    danke im voraus



  • hi, ich habs bereits geschafft. danke für eure hilfe


Anmelden zum Antworten