Text Datei ab bestimmter anzahl von buchstaben lesen???
-
Hallo,
wie kann man Text Dateien ab bestimmten Anzahl von Buchstaben ausgeben???
Denn in der Text Datei steht name=NAME,doch es soll nur NAME und nicht name=NAME ausgegeben werden.Wie geht des??? Danke im Voraus
-
Am besten mit Standard-C++ -> Dort findest du auch etwas in der FAQ!
Verschoben nach C++.
MfG SideWinder
-
Das könntest du in einer for-schleife mit fgetc() machen, und dann den Rest mit fscanf() in einen string einlesen...
int main() { char string[32]; FILE * file; file = fopen("TextDatei.txt","r"); for (int x=0;x<5;x++) //Die ersten 5 Zeichen ueberspringen fgetc(); fscanf("%s",string); fclose(file); printf("\n%s",string); return 0; }
So in etwa sollte es funktionieren... steinige mich, falls nicht!
-
oder kuck mal hier bevor du dir das c zeugs antust
http://www.c-plusplus.net/forum/viewtopic.php?t=39469
-
Sooo...DANKE,DANKE,DANKE
Habe mir des C zeugs angetan ;), musste zwar was löschen damit bei mir gings,aber hauptsache es läuft
Danke nochmals
-
Ja, dann läuft es, bis jemand was zu langes eingibt...Masochisten o_O
-
Warum schreibt ihr nicht, wie ihr es machen würdet. Dann machen es andere Anfänger, die über diesen thread stolpern, nicht auch noch falsch
-
also wenn du mich fragst ist es doch wesentlich eleganter bei einem C++ filestream einfach per ignore die ersten X zeichen zu überpsringen...
-
Welchen Header brauch ich für ignore???
-
Hm, wenn die Ausgabe, die verkürzt werden soll, sich in einem std::string befindet:
string str; if (str.length() < 5) stream << str; // Der ist schon kurz genug else stream << string(str.begin() + 5, str.end()); // Der wird verkürzt
Ungetestet, sollte aber vom Prinzip her so funktionieren.
Alles in einem String nach einem Gleichheitszeichen ausgeben ist sogar noch einfacher (wie immer ungetestet):
string str; string::iterator gleich = find(str.begin(), str.end(), '='); // find aus <algorithm> if (gleich == str.end()) ; // Hoppala, hat gar kein Gleichheitszeichen else stream << string(gleich + 1, str.end());