Txt.Datei allgemin erstellen



  • Hallo,

    Ich möchte in ein normales C++ programm eine .txt Datei erstellen, dort was reinschrreiben, von dort lesen, den text drin bearbeiten...
    Ich hatte mit C was gemacht

    :
    	fp=fopen("text.txt","w");
    	if(fp!=0)
    		{
    			fprintf(fp,"%d",punkte);
    			fclose(fp);
    		}
    

    kann ich es mit C++ einfacher erstellen?



  • Hallo,

    siehe FAQ



  • delikanli schrieb:

    Hallo,

    Ich möchte in ein normales C++ programm eine .txt Datei erstellen, dort was reinschrreiben, von dort lesen, den text drin bearbeiten...
    Ich hatte mit C was gemacht

    :
    
    //ins txt.Datei schreiben
    	void setPunkte(int punkte)
    {
    
              FILE *fp;
    	fp=fopen("text.txt","w");
    	if(fp!=0)
    		{
    			fprintf(fp,"%d",punkte);
    			fclose(fp);
    		}
    
    }
    
    //aus text.datei lesen
    int getName(char *name)
    {
    	FILE *fp;
    	fp=fopen("text.txt","r");
    	if(fp!=0)
    		{	fgets(name,MAX,fp);
    			fclose(fp);
    		}
    	return 0;
    
    }
    

    kann ich es mit C++ einfacher erstellen?



  • also ich habe es angeschaut und ausprobiert.
    Aber die Txt. datei speichert die Daten komisch:
    ali ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌg ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ efr ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌw ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ

    aber ich möchte es so abspeichern:

    testperson,76
    testperson2,34

    usw..

    hier ist mein Code:

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    struct PERSON 
    { 
        char VorName[20]; 
        char NachName[20]; 
        int TelNr; 
    };
    
    void main(){
    // fstream damit die Datei zuerst schreibend und dann lesend geöffnet werden kann. 
    fstream File("Person.txt", ios::out|ios::binary); 
    if (File.is_open()) 
    { 
        // Nur zwei Datensätze schreiben. 
        // Hier wäre eine Fehlerprüfung angebracht 
        for (int i = 0; i < 2 ; ++i) 
        { 
            PERSON Pers; 
            cout << "Vorname: "; 
            cin >> Pers.VorName; 
            cout << "Nachname: "; 
            cin >> Pers.NachName; 
            cout << "TelNr: "; 
            cin >> Pers.TelNr; 
    
            // Aktuelle Person in der Datei speichern. 
            File.write((const char*)&Pers, sizeof(Pers)); 
        } 
        File.close();   // Datei schließen 
    } 
    // Datei zum Lesen öffnen. 
    File.open("Person.txt", ios::in|ios::binary); 
    if (File.is_open()) 
    { 
        PERSON Pers; 
        while (File.read((char*)&Pers, sizeof(Pers))) 
            cout << Pers.VorName << " " << Pers.NachName << " " << Pers.TelNr << endl; 
    } 
    }
    


  • Lass mal das ios::binary weg.



  • nein es hat nicht geklappt.



  • Wenn du Textausgaben haben willst darfst du nicht write verwenden. Eher sowas

    File << Pers.VorName;
    File << Pers.NachName;
    File << Pers.TelNr;
    

Anmelden zum Antworten