Aktuelle Zeit: 20.04.2025, 13:54

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Eine extrem lange Zeile einlesen
BeitragVerfasst: 25.09.2007, 09:06 
Offline

Registriert: 13.03.2007, 22:45
Beiträge: 65
Hi,

ich möchte eine Datei mit diesem Fotmat auslesen: http://freeworld3d.org/tutorials/roadsystem.html#5

Dabei ergibt sich ein Problem. Die Zeile mit
Zitat:
index0, index1, index2, .... // every 3 indices is a single triangle

ist in einer exportierten Road-Datei einige tausend zeichen lang (bei mir, und das ist eine sehr kurze Strecke, sind es über 11.000 Spalten in einer Zeile).

Später wird dieser Wert also noch deutlich wachsen. Wie lese ich so eine Zeile ein??? Ich habe mir schon eine unktion geschrieben, die einen String anhand eines bestimmten Zeichens splittet. (in diesem fall wäre es das Leerzeichen), jedoch wird das bei einem so langen String extrem aufwendeig.

Was empfehlt ihr mir? Soll ich die Zeile komplett einlesen? Wenn ja, wie?

Oder soll ich einfach alle drei indices eine neue Zeile machen (Also nach jedem Triangle)?
Das Problem ist, dass ich mir dazu ein kleines Tool schreiben müsste, wobei ich dann ja genau auf das selbe Problem stoßen würde, da in dem Tool ja auch zunächst die komplette Zeile eingelesen und gesplittet werden müsste.

Oder gibt es eine Möglichkeit, das ganze Element-weise einzlesesn? Also erst vom Anfang der Zeile bis zum dritten Leerzeichen, dann vom dritten bis zum sechsten leerzeichen etc.?

Vielen Dank

D.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Eine extrem lange Zeile einlesen
BeitragVerfasst: 25.09.2007, 13:00 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
ich hab mal in einem programm vor ein paar jahren eine funktion geschrieben, die genau das macht was du willst:
Code:
stringc readUntilChar(FILE* pFile, char z){
    stringc str;
    char c;
    do{
        c = fgetc(pFile);
        if(c == z){
            return str;
        }else{
            str += c;
        }
    }while(!feof(pFile));
       
    return str;   
}

heute würd ichs anders machen, mit nem 4k puffer der dann geparst wird, und die übrigen zahlen bleiben drin, aber vllt reicht dir diese funktion schon.

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de