Hallo!
In meinem C-Programm möchte ich die Funktion strnset() verwenden
um eine spezifizierte Anzahl von Zeichen in ein angegebenes Zeichen zu verändern.
Diese Funktion ist allerdings keine ANSI-C Funktion und steht in meiner string.h auch nicht drin. Auf vielen Seiten habe ich aber gesehen das einfach der Header string.h verwendet wird.
Kann mir jemand sagen wo ich den Code für nicht ANSI-C Funktion bekommen kann.
xxfunkx
strnset kein ANSI-C Funktion deshalb nicht in string.h
-
-
du könntest einfach memset verwenden, das *ist* naemlich ein standard. \0 am schluss musst vermutlich manuell anhängen.
-
memset() hat funktioniert
danke -
Hallo!
Ich habe in einem char array das ich mir aus einer named piped einlese folgendes drinstehen:Zitat
output: --> queue
Entry(s) : 1/[1024]
Position : 0 <01_Transistor.mp3>
>>> *311.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.53 Kbytes
Entry(s) : 19
Position : 0 <01_Transistor.mp3>
Status : 0.0% played, 0.0% skipped
--> saturday.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.31 Kbytes
Entry(s) : 6
Position : 0 <happy.mp3>
Status : 0.0% played, 0.0% skipped
--> sunday.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.27 Kbytes
Entry(s) : 5
Position : 0 <new_begining.mp3>
Status : 0.0% played, 0.0% skippedWas ich darus brauche sind die rot markierten Zeilen.
Das sind Playlist die ich brauche um sie an andere Stelle anzuzeigen und auswählen zu können.
Mit der Funktion strstr() kann ich mir die Position anzeigen lassen an der die zu suchende Zeichenkette auftritt.
Also so zum Beispiel:Codeiln = read(imp3out, output , 8191); /* ... */ char *loc; loc = strstr(output, "--> "); printf( "\n\t%s wurde an Position %d gefunden.\n\n\n", ".lst", loc-output); loc = strstr(output, "--> "); printf( "\n\t%s wurde an Position %d gefunden.\n\n\n", ".lst", loc-output);
Nun bekomme ich aber nur EINMAL raus an welcher Stelle diese Kombination auftritt. Aber ich muß ja mehrmals nach "--> " suchen.
Und dann habe ich ja erst die Position der Zeichenkombination.
Ich hab mir nun gedacht. Suche ich anschließend nach ".lst"
Die Zeichen dazwischen sind dann der Name der Playlist.
Ich frage mich nur ob das nicht auch einfacher geht.
Ich bin leider nicht so fit mit Stringmanipulation in C.
Vielleicht kann mir ja jemand weiterhelfen und noch ein paar Tipps geben.
Vielen Dank
xxfunkxx -
Du kannst ja beim 2. Mal sowas wie
loc = strstr(output+loc+1, "--> ") + loc+1;
machen. Dann durchsucht er den String erst nach dem ersten Auftreten von "--> ".
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!