C language: Wie erhält man die verbleibende Zeichenkette nach der einmaligen Verwendung von strtok ()?

8

Meine Zeichenfolge ist "A, B, C, D, E"
Und das Trennzeichen ist ","
Wie kann ich die verbleibende Zeichenkette erhalten, nachdem ich strtok () einmal ausgeführt habe, also "B, C, D, E"

%Vor%

Die Ausgabe ist:
a: Ein Foto b: A

Aber wie bekomme ich das Ergebnis? a: B, C, D, E
b: A

Danke.

    
Eric Tseng 01.11.2013, 09:58
quelle

6 Antworten

15

Sie können die Anzahl der Trennzeichen variieren, übergeben Sie einfach eine leere Zeichenfolge:

%Vor%     
Neil 01.11.2013 10:17
quelle
7

Benutze strtok() nicht dafür, da es nicht dafür ist.

Verwenden Sie strchr() , um das erste Trennzeichen zu finden, und gehen Sie von dort aus:

%Vor%     
unwind 01.11.2013 10:01
quelle
1

Versuchen Sie Folgendes:

%Vor%     
alk 01.11.2013 10:01
quelle
0

Wenn strtok nicht benötigt wird, können Sie stattdessen strchr verwenden, da das Trennzeichen ein einzelnes Zeichen ist:

%Vor%     
Fred Foo 01.11.2013 10:02
quelle
0
  

printf ("a:% s \ n", a + 1 + strlen (b));

Versuchen Sie es

    
nav_jan 01.11.2013 10:04
quelle
0

strtok merkt sich die letzte Zeichenfolge, mit der es gearbeitet hat und wo es endete. Um die nächste Zeichenfolge abzurufen, rufen Sie sie erneut mit NULL als erstem Argument auf.

%Vor%

Hinweis: Dies ist nicht Thread sicher.

    
Atle 01.11.2013 10:09
quelle

Tags und Links