Strtok hält einen statischen Puffer verwendet werden soll, wenn die Zeichenüber Wird überschrieben, wenn wenn anderswo mit einer neuen non-NULL-Zeichenfolge aufgerufen wird, die die Funktionalität, die Sie suchen, unterbrechen könnte. z.B. verflochtene Anrufe mit unterschiedlichen Strings.
Stattdessen können Sie strspe verwenden, das wie strtok ist, aber Sie behalten den temporären Puffer selbst, falls Sie mehrere Zeichenfolgen, z. mit den verflochtenen Rufe mit verschiedenen Streichern.
In kleinen Fällen wird dieses Problem wahrscheinlich nicht auftreten, aber es kann in größeren Projekten auftreten.
EDIT: Dies ist nicht Standard c, also stellen Sie sicher, dass Sie diese Funktion haben, bevor Sie versuchen, es zu verwenden. Ich weiß sicher, dass es auf BSD verfügbar ist, und möglicherweise auch andere Unix der
EDIT: strsep und strtok_r erscheinen die gleiche Funktionalität
Btw, das sieht aus wie ein dup. – monksy
Haben Sie Fortschritte gemacht? Sie werden wahrscheinlich mehr Antworten erhalten, wenn Sie eine spezifischere Frage stellen. Im Moment bitten Sie jemanden, das gesamte Programm für Sie in die Antwortbox zu schreiben. – benzado