CRLF in einer Textdatei Möglich?
-
PAD schrieb:
Ersetze das
char c='/n'; // Newline
durch
char c='\n';vertippt ...
-
@devas was soll diese newline bringen.
Außerdem weigert sich ein C-Compiler normalerweise in der Strukturdefinition eine initialisierung vorzunehmen, es
kann sein das eine C++-Compiler das akzeptiertSchau mal hier wie Daten binaer gespeichert werden, du kannst damit keine Synchronisation erzwingen
http://www.c-plusplus.net/forum/viewtopic-var-t-is-114241-and-highlight-is-.html
-
char c='\n'
acuh so geht es nicht.
Fehlermeldung:
Nur Funktionen können virtuell deklariert werden.
Ungültige Syntax!@PAD
Ja hab alle 15 Teilnehmer eingetragen@linearem Code:
Ich werde mir angewöhnen zukünftig meinen Code besser zu strukturieren. Merke es ja nun selbst, dass ich totale Schwierigkeiten habe *g*
Aber wie sagt man so schoen, aus Fehlern lernt man._edit_
Koennte es daran liegen, dass ich beim ersten abspeichern in die tct Datei Teilnehmer zwar die ganze Struktur abspeichere aber nur die ersten 4 werte sind belegt.
zwar gibt ers richtig aus, aber koennte doch sein, dass er dann beim initialisieren der anderen werte einen fehler macht?
-
Hast du den von mir beschreibenen Versuch schon gemacht. Ich hoffe durch das Ergrebnis auf die Fehlerart schlißen zu können
Schreib mal in eine neue Datei 15 Teilnehmer und nenn deren Namen Teil_0, Teil_1,...., Teil_15
Dann lies die Datei und überprüfe ob sie in derselben Reihenfolge beginnend mit Teil_0 ausgegeben werden
und wenn bei welchem Teilnehmer du scheiterst.
-
Ok:
Ich habe das mal in meinem Programm gemacht. (Textdateien davor erneuernlassen)
Zunächst lass ich ja wie schon erwähnt, Name, Vorname, GebJahr und Land eingeben und abspeichern.
Dann wieder auslesen und ausgeben.
Bis hier her läuft alles Fehlerfrei!Nun, fülle ich in der Struktur jeweils noch die anderen Variablen aus, lass es abspeichern, wieder einlesen und alle werte ausgeben.
Bis teilnehmer9 macht er das einwandfrei. Dann scheitert er und es wird nichts mehr korrekt am bildschirm ausgegeben.
-
PAD schrieb:
@devas was soll diese newline bringen.
Außerdem weigert sich ein C-Compiler normalerweise in der Strukturdefinition eine initialisierung vorzunehmen, es
kann sein das eine C++-Compiler das akzeptiertSchau mal hier wie Daten binaer gespeichert werden, du kannst damit keine Synchronisation erzwingen
http://www.c-plusplus.net/forum/viewtopic-var-t-is-114241-and-highlight-is-.htmlSynchronisation? Dann muß ich irgendetwas falsch verstanden haben. Ich dachte es geht um das richtige schreiben und lesen der Daten ?
Wozu ein Newline? Na, wenn ich die Strukturen schreibe (ob am Stück, oder in einem Rutsch), sorgt das newline für eben dieses - eine neue Zeile, so daß ich die Datei an einem bel. Editor halbwegs formatiert lesen kann. Wenn ich dieses sowieso brauche, damm kann ich das doch eigentlich auch gleich in die Struktur einbauen. (P.S. mit der Initialisierung hast Du natürlich recht - da habe ich nicht aufgepasst.)
-
d.h das Eintragen der zusätzlichen Daten macht das Problem
Frage welche Daten tägst du zusätzlich ein und was sind das für Datentypen
-
Alle mit << makierten
struct Biathlon
{
char vName[20];
char nName[20];
int GebJahr;
char Land[20];
int Nummer; //1-15 <<
int LaufZeitMin; <<
int LaufzeitSec;<<
int Fehl; //Fehlschüsse beim Schiessen, maximal 15 <<
int rennen; <<
}temp,Teilnehmer[16];
-
@devas. du hättest recht wenn nicht beim schreiben von strukturen die füllbytes mitgeschreiben werden. diese machen deine Methode leider kaputt. deswegen ausch der hinweis auf den anderen thread, da habe ich es hoffentlich richtig erklärt. Das störende hier ist, das der wert der Füllbytes nicht bekannt ist und beim abspeichern von int, float und den anderen einfachen typen jeder binaerwert innerhalb eines Bytes zulässig ist somit auch das \n. DAmit kann es an belibiger Stelle auftauchen und macht deine Idee leider kaputt
-
Schade ich dachte da wär mindestens ein string dabei, dann hätte ich vermutet das du das Ende überschreibst.
Frage bis wann brauchst du das Programm?
Wenn es nicht bis morgen ist kannst du, wenn du es willst, es mir über das Forum per email zusenden, ich schaus mir dann an.
An diese Mail komme ich aber erst morgen.
Dazu Gehe in diesem meinem Beitrag im Feld Autor auf Benutzerprofil dann dort
auf E-Mail-Adresse: E-Mail senden#Packe in das Fenster deinen completten Code und datedateien
-
Ich brauch es bis morgen.
Doch durch einen Zufall habe ich den Fehler nun gefunden. Der Kompiler kam scheinbar nicht damit klar, dass ich das fseek in eienr for Schleife hatte.
Nun hab ich das fseek mal raus, weil du ja gesagt hast, dass ich das ncih inne schleife tun brauch, und schon war der Fehler behoben.*ein riesen Stein vom Herzen fällt*
Also noch mal an alle einen riesen Dank, die mir hier geholfen haben. Und nen noch Grösseren Dank an dir PAD für die nervenden Hilfs-Stunden eben mit mir.
Vlt lese ich ja mal nen Beitrag wo ich euch helfen kann *g*
Drueckt mir die Daumen dass nen Einser rauskommt, den ich brauche
MFG
Lyrix
-
@Wenn´s mal nur am Wissen und Erfahrung und nicht am wollen fehlt, hilft mal gerne.
Und mit dem rückzahlen, wir nehmen dich beim Wort
-
PAD schrieb:
@devas. du hättest recht wenn nicht beim schreiben von strukturen die füllbytes mitgeschreiben werden. diese machen deine Methode leider kaputt. deswegen ausch der hinweis auf den anderen thread, da habe ich es hoffentlich richtig erklärt. Das störende hier ist, das der wert der Füllbytes nicht bekannt ist und beim abspeichern von int, float und den anderen einfachen typen jeder binaerwert innerhalb eines Bytes zulässig ist somit auch das \n. DAmit kann es an belibiger Stelle auftauchen und macht deine Idee leider kaputt
Ok - *zieht den virtuellen Hut*
Ich schreibe normalerweise nur Daten, die ich nicht als Textfile brauche.
-
Ich versuche Daten soweit es sinnvoll ist, eigentlich immer als ASCII zu schreiben.
Auf binär Formate wechsle ich nur wenn sie mir Platz und/oder Performance Probleme beheben,
oder um Kunden davon abzuhalten die Daten (da reicht dann oftmals ein xor um die Daten zu verschleiern) zu verändern.Ich habe oft genug erlebt, "Ich habe mir nur das autoexec.bat angeschaut"
Womit?
Mit Word
noch fragen?Im Normalfall kann man ascii daten leichter an geänderte Kundenwünsche anpassen als binärdaten.
MfG PAD
-
Hi,
ich wollte euch nur sagen, dass ich in diesem Projekt ne eins bekommen habe mit 114 von 120 Punkten. Vielleicht interessiert es ja jemanden
Danke nochmal an alle Helfenden...