Unser neuestes Mitglied: pemay01

141 Besucher derzeit online [ Zeigen ]

Startseite | Werbefreies Forum: Jetzt Mitglied werden! | Login | Team | Suchen
Statistik | Hilfe / FAQ | Regeln
Willkommen auf dem xpBulletin Board, Gast.
Du bist nicht registriert oder eingeloggt.
Dein Letzter Besuch war am: 25.09.2018, 15:54 Uhr.
[ Alles als gelesen markieren ]
xpBulletin Board » Programmierung » C und C++ - Forum » Dateien in C++
Benutzer im Forum aktiv: Keine

[ Neue Antwort ]


Autor
Thema: Dateien in C++

 

Seiten (1): [1]

Neuer Beitrag 26.03.2010, 23:12
 Dateien in C++

#1 | Zitieren |

matthias67 ist Offline matthias67
Print "Hello World"
Hallo!

Ich schreibe gerade ein Programm in C++ (zur Übung) mit dem ich einen Text aus der Datei "2AHEL.txt" herauslesen (Vorname, Nachname, Datum, Wohnort) will und ihn auf eine Struktur speichern möchte. Danach soll der Vorname und Nachname in eine Datei "Datei2" geschrieben werden, und zwar in einer Zeile.

Bei "2AHEL.txt" ist jede Information in einer Zeile.

Mein Problem ist, dass ich gerade keine wirkliche Idee habe, wie ich den Vornamen und Nachnamen in einer Zeile ausgeben kann. (beide strings). Mit strcat funktioniert es nicht...

Hier das Programm:

#include <stdio.h>
#include <string.h>

struct Schuelerliste
{
char nummer[20];
char famname[61];
char vorname[31];
char wohnort[60];
char datum[20];
};

void main()
{
FILE *fp;
FILE *fp2;
int i=0,n;

struct Schuelerliste sl[100];

fp = fopen("2AHEL2008.txt","r");
fp2 = fopen("Datei2.txt","w");

if (fp == NULL) fputs ("\nDatei konnte nicht geöffnet werden:" , stderr);


else
{
while(!feof(fp))
{
fgets(sl[i].nummer,21,fp);
fgets(sl[i].famname,62,fp);
fgets(sl[i].vorname,32,fp);
fgets(sl[i].wohnort,61,fp);
fgets(sl[i].datum,21,fp);

i++;
}

for(n=0;n<=i;n++)
{
fputs(sl[n].famname,fp2);
fputs(sl[n].vorname,fp2);
}


}


}

Anmerkung: In "Datei2" wird Vor- und Nachname hineingeschrieben, jedoch nicht in einer Zeile und am Schluss der Text Datei macht er haufenweise "ÌÌÌÌÌÌÌÌ" hin.

Habt ihr eine Idee?

Mfg
 Beiträge: 2 | Punkte: 4 | Wohnort: Haidershofen | Registriert seit: 3104 Tagen (Mar 2010)
 
Neuer Beitrag 26.03.2010, 23:12
 Werbung

AdBot
Mister Ad

 
Neuer Beitrag 27.03.2010, 01:12
 Re: Dateien in C++

#2 | Zitieren |

bg ist Offline bg

Operator
Zen Master Foo


Alter: 37
Geschlecht: Männlich
Aehm, du weisst aber schon, dass das "Programm", das du da geschrieben hast in C und nicht in C++ ist.

Was du suchst ist fprintf
Code:

fprintf(fp2, "%s %s\n", sl[n].vorname, sl[n].famname);

 Beiträge: 3.842 | Punkte: 4.429 | Wohnort: Wien | Registriert seit: 5523 Tagen (Aug 2003)
 
Neuer Beitrag 27.03.2010, 01:12
 Werbung

AdBot
Mister Ad

 
Neuer Beitrag 02.04.2010, 14:33
 Re: Dateien in C++

#3 | Zitieren |

trouff ist Offline trouff
Ancient Hacker
Hi

Da ich diese Antwort, dass ein Programm C und nicht C++ ist, schon öfter gelesen habe wollte ich den Thread dazu missbrauchen nachzufragen, was das C++ zum C++ Programm macht?

Ist das vorliegende Programm hier kein C++-Programm weil:
- die benutzten Methoden in C++ nicht mehr verwendet werden
- keine Objektorientierung benutzt wurde
- weil die Variablen am Methodenanfang deklariert wurden
- Edit: Oder gibt es noch andere Gründe
?

Mfg trouff
 Beiträge: 932 | Punkte: 1.216 | Wohnort: pillepallearschgekna | Registriert seit: 4800 Tagen (Aug 2005)
 
Neuer Beitrag 02.04.2010, 15:28
 Re: Dateien in C++

#4 | Zitieren |

bg ist Offline bg

Operator
Zen Master Foo


Alter: 37
Geschlecht: Männlich
C und C++ sind zwei verschiedene Welten, die aber eine gemeinsame Basis haben, naemlich C. C++ ist aber weit mehr als eine Erweiterung von C, es ist eine komplett eigene Sprache mit eigener Philosophie. In der Regel nimmt man C hauptsaechlich zum Programmieren von Schnittstellen, Treibern, Controllern, etc. C hat alles was eine klassische Sprache ihrer Art zu bieten hat mit dem Vorteil, dass man fast dieselben Moeglichkeiten wie bei einer Assemblersprache hat. Stichwort Zeiger. Diese Art der Programmierung ist aber sehr gefaehlich und fehleranfaellig.
In C++ hat man versucht, dem Programmierer viele dieser niederen Arbeiten abzunehmen, sei es durch die STL, Vererbung und Templates. Deshalb sehen C/und C++ Programme auch anders aus.

Listen in C (Array)
Code:

char list[10];
int i;
/* ... */

/* Ausgabe der Liste */
for (i=0; i<10: ++i) {
  fprintf("%d", list[i]);
}




Listen in C++
Code:

std::vector<char> list;
// ... 

// Ausgabe der Liste
for (std::vector<char>::iterator i = list.begin(); i != list.end(); ++i) {
  cout << *i;
}


C++ sieht zwar auf den ersten Blick komplizierter aus, ist es aber nicht unbedingt.

Wenn einem C++ zur Verfuegung steht, dann sollte man auch die Funktionen nutzen. Also Array und Zeiger vermeiden und nur STL-Container und Referenzen verwenden :-)
 Beiträge: 3.842 | Punkte: 4.429 | Wohnort: Wien | Registriert seit: 5523 Tagen (Aug 2003)
 
Neuer Beitrag 02.04.2010, 23:27
 Re: Dateien in C++

#5 | Zitieren |

matthias67 ist Offline matthias67
Print "Hello World"


Themenstarter/in
Danke für eure Hilfe und Aufklärung.

Das Programm funkt jetzt, obwohls mit fprintf nich gegange ist. (in jeder Zeile befand sich als letztes Zeichen ein Enterzeichen)

Lg
 Beiträge: 2 | Punkte: 4 | Wohnort: Haidershofen | Registriert seit: 3104 Tagen (Mar 2010)
 
Neuer Beitrag 02.04.2010, 23:27
 Werbung

AdBot
Mister Ad

Seiten (1): [1]

  

xpBulletin Board » Programmierung » C und C++ - Forum » Dateien in C++

[ Neue Antwort ]


Heute ist der 25.09.2018, 15:54 Uhr

Sämtliche Beiträge geben die Meinung des jeweiligen Verfassers wieder.
Für den Inhalt der Beiträge sind ausschließlich die Autoren verantwortlich.


Powered by: xpBulletin Board Version 2.3.0
Generiert in 0.0368 Sekunden
« Übersicht | @Twitter | @Facebook | Sitemap | Impressum »