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,34usw..
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;