40

文字列をトークンに分割して配列に保存する方法は?

具体的には、 string があります"abc/qwe/jkh"。を分離してから"/"、トークンを配列に保存します。

出力は次のようになります

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

私を助けてください

4

3 に答える 3

45
#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;
}
于 2013-03-18T08:28:02.147 に答える
13

使用できますstrtok()

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

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

while(array[i] != NULL)
   array[++i] = strtok(NULL, "/");
于 2013-03-18T08:22:57.230 に答える