JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7b1d9b20cca4c63e1422defa7ca72143Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

ARbeiten mit Textdateien Teil2

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 17.09.2002, 14:27    Titel: ARbeiten mit Textdateien Teil2 Antworten mit Zitat

Wie kann ich erkennen, ob eine Leerzeile vorliegt...das möchte ich als Trennzeichen verwenden...und nur das Leerzeichen...also nciht einfach sagen...nimm einfach ein anderes Zeichen...

Und wie kann ich nochmal eine Zeile nach oben zurückspringen?

Vielen Dank schon Mal für eure Antworten!!! Smile

P.S.: Es stört zwar nicht so, aber Christian, könntest du das Board wieder eindeutschen? Vielen Dank!!! Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gast









BeitragVerfasst am: 17.09.2002, 14:58    Titel: Antworten mit Zitat

Sollte wieder alles Deutsch sein.

Christian
Nach oben
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 17.09.2002, 15:42    Titel: Antworten mit Zitat

Danke Smile

Weißt du jetzt auch die Antwort auf meine Frage mit der Erkennung der Zeilenvorschube? Smile

Okay Zeilernvorschub kann man ja doch mit \n erkennen... Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 18.09.2002, 13:12    Titel: Antworten mit Zitat

Hallo,

wie leist du die Datei denn ein? Wenn du es mit getline machst, bekommst
du ja eine leere Zeile. Überprüfen, ob die Zeile komplett leer ist, kannst du am besten mit isspace(zeichen); Wenn das für die gesamte Zeile zutrifft, ist sie leer. Ich weiss aber nicht, ob eine Leerzeile das beste Trennsymbol ist.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 18.09.2002, 13:20    Titel: Antworten mit Zitat

Die Leerzeile muss ich als Trennsymbol nehmen, da es das andere Programm so eine Log Datei erstellt die nicht immer ein eindeutiges Ende hat, außer die Neue Zeile.

Und noch eine Frage...ich lese 10 Werte nacheinander aus und speicher die in die Zeichenkette temp, dann vergleiche ich, um welche Zeile es sich handelt mit: if(temp[0]='S' && ...)

und wenn ich dann herausgefunden hab, dass die Zeile mit Status anfängt wird sie in temp2 z.B. gespeichert...wenn ich den Inhalt davon oft am Bildschirm ausgebe....kommen machnmal viele Leerzeichen und dann so komische Zeichen infolge von dem Dateinamen der Textdatei...das passiert auch beim kopieren, wenn ich nicht vor dem letzten Zeichen eine 0 hinschreibe...

Was ist das?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 18.09.2002, 14:14    Titel: Antworten mit Zitat

Hallo,

anstatt mit if(temp[0] == 'S' && ... temp[10] == 'X')
(auf == achten !) kannst du auch strncmp benutzen (Stringvergleich mit Angabe der Anzahl der Zeichen).

Wenn du sowas machst:


Code:

char temp[25]; // hier steht, besonders, wenn es eine lokale Variable ist irgendwas drin

temp[0] = 'H';
temp[1] = 'A';
temp[2] = 'L';
temp[3] = 'L';
temp[4] = 'O';

printf(temp); // Das gibt zu 95 % einen Fehler, d.h. Komische Zeichen nach Hallo

temp[5] = 0;

printf(temp); // jetzt geht es gut



Das liegt daran, dass Strings mit einen Nullzeichen abgeschlossen werden müssen. Erst an diesem Zeichen endet für C++ der String.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 18.09.2002, 18:54    Titel: Antworten mit Zitat

Okay...aber das ist einfach so?

0 daran hab ich mich dann noch aus meinem Jetzt lerne ich C Buch erinnet *stolz* Smile

Na klar heißt es == ...hast aber gut aufgepasst!!! Smile

Vielen Dank Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum