web-dev-qa-db-fra.com

Fractionner la chaîne en jetons et les enregistrer dans un tableau

Comment diviser une chaîne en jetons, puis les enregistrer dans un tableau?

Plus précisément, j'ai une chaîne "abc/qwe/jkh". Je veux séparer "/", puis enregistrez les jetons dans un tableau.

La sortie sera telle que

array[0] = "abc"
array[1] = "qwe"
array[2] = "jkh"

aidez-moi, s'il vous plaît

22
Syeda Amna Ahmed
#include <stdio.h>
#include <string.h>

int main ()
{
    char buf[] ="abc/qwe/ccd";
    int i = 0;
    char *p = strtok (buf, "/");
    char *array[3];

    while (p != NULL)
    {
        array[i++] = p;
        p = strtok (NULL, "/");
    }

    for (i = 0; i < 3; ++i) 
        printf("%s\n", array[i]);

    return 0;
}
29
rlib

Vous pouvez utiliser strtok()

char string[]=  "abc/qwe/jkh";
char *array[10];
int i=0;

array[i] = strtok(string,"/");

while(array[i]!=NULL)
{
   array[++i] = strtok(NULL,"/");
}
9
MOHAMED