Für diesen Fall können Sie Zeichenfolgebegrenzer Konzept
strtok(const char * str, int delimiter);
für Ihren Fall verwenden, ist Trennzeichen "white space".
Programm:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] ="This a sample string";
char * output_after_delimiter_applied;
char *out_arr[4];
int i=0;
printf("The original string is %s\n", str);
output_after_delimiter_applied = strtok (str," ");
while (output_after_delimiter_applied != NULL)
{
out_arr[i] = output_after_delimiter_applied;
output_after_delimiter_applied = strtok (NULL, " ");
// NULL parameter is for continuing the search
// delimiter is "white space".
i++;
}
for(i=0; i < 4 ; i++)
printf("%s\n", out_arr[i]);
return 0;
}
können wir jede nicht hinzufügen. von Trennzeichen mit doppelten Anführungszeichen. Es ist wie die Suche nach Zeichenketten (Trennzeichen).
Mögliche Duplikate von [Wie tunke ich eine Zeichenfolge in C++?] (Http://stackoverflow.com/questions/53849/how-do-i-otokenize-a-string-in-c) – Pierre
Vielleicht dieser Beitrag kann nützlich sein: [Eine Zeichenfolge in C++ aufteilen?] (http://stackoverflow.com/a/236803/6032132) – tetouani63
Können Sie bestätigen, dass das anfängliche führende Leerzeichen in Ihrer Zeichenfolge absichtlich ist? –