Agos Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 Hallo, ich bin totaler Anfänger in C. Wer kann mir weiterhelfen. Das ist bestimmt superleich.Also: Ich lese aus einer textdatei aus und möchte nun nach bestimmten Strings suchen.Wenn zum Beispiel: "Start" irgendwo im Text gefunden wird, dann möchte ich die Zahl die danach kommt in eine Variable speichern. Helft mir bitte.Das ist bestimmt nicht so schwer, nur ich weiß eben nicht wie. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ferris Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 Hallo die Suche nach strings in einem textfile ist in C garnicht nal so trivial, wie es scheint. Es gibt aber Standardalgorithmen, die sich ganz einfach einbauen lassen. Wenn Du bis heute Abend warten kannst, guck ich mal zu Hause in meinem Buch nach. 'Aber hier wird's doch wohl irgendjemanden geben, der das kann oder ein C-Buch bei der Hand hat' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hasi Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 Also fangen wir mal an: zuerst eine Variable deklarieren (FILE *stream nun wird die Datei geoeffnet (stream = fopen( "datei.txt", "r" )) unter datei.txt den namen des files eingeben ; r ist der faktor mit dem es geoeffnet wird hierbei gilt: °"r" oefnet nur zum lesen °"w" erstellt eine datei nur um in sie zu schreiben, existiert sie schon werden alle Inhalte zerstoert. °"a" wie w nur wird hier alles ans Ende geschrieben °"r+" oeffnet eine existierende Datei zum Schreiben und Lesen °"w+" Oeffnet eine Datei zum Schreiben und Lesen die Inhalte der Datei werden geloescht wenn sie existiert ansonsten wird die Datei erstellt. die funktion gibt NULL zurueck wenn sie nicht erfolgreich war nun werden daten ueber (fscanf(stream,"test%lf/n",dummy)) eingelesen (bei misserfolg kommt EOF zurueck. du musst also erst das fscanf dann den Namen der Datei (hier stream vom der deklaration) dann wie beim normalen einlesen von der eingabe die argumente und schliesslich in welche variable er das ganze einlesen soll [ziemlich kompliziert, man muss immer wissen wo er was einscannen soll und den zeiger auf den neuen wert setzen. im beispiel wird der double dummy eingelesen, der nach dem wort test steht und danach (es muss das wirkliche ende der zeile sein) der cursor auf die neue zeile gesetzt. die zeile in der txt waere : test2.69] zum schreiben in eine datei (fprintf (stream, "\ntest \n") wie bei printf nur schreibt man vorne seine file variable und das f davor zum schluss schliesst du die datei mit (fclose( stream ) mit (rewind(stream) setzt du den cursor auf den anfang der datei so und jetzt noch das suchen in einer Zeile: int ausrufe; char read; FILE *stream; stream = fopen("test.ini","r+"); fgets(read,128,stream); ausrufe = strcspn(read,"Start"); fclose(stream); mit strcspn wird die position des Wortes Start angegben (im charfeld read) um den wert danach auszugeben musst du nur das read feld ab (ausrufe+(anzahl der zeichen von Start) ausgeben OKAY ich hoffe ich hab dir geholfen wenn nicht frag einfach noch mal Tschüssie Hasi [Dieser Beitrag wurde von 007hasi am 11. Januar 2001 editiert.] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hasi Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Ferris: 'Aber hier wird's doch wohl irgendjemanden geben, der das kann oder ein C-Buch bei der Hand hat' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ferris Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 @hasi cool!!! 2 Fliegen mit einer Klappe geschlagen. Agos ist geholfen und mir haste meinen Abend gerettet. Gruß Ferris Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Agos Geschrieben 11. Januar 2001 Autor Teilen Geschrieben 11. Januar 2001 Danke HAsi für die Mühe ich hätte nie gedacht, das man hier so schnell so gute Antworten bekommt, probiers gleich mal aus. Dank natürlich auch an Ferris. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hasi Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Ferris: @hasi cool!!! 2 Fliegen mit einer Klappe geschlagen. Agos ist geholfen und mir haste meinen Abend gerettet. Gruß Ferris Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ferris Geschrieben 11. Januar 2001 Teilen Geschrieben 11. Januar 2001 @hasi hast Du doch gearde selber gemacht!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.