将字符串拆分为标记并将其保存在数组中

c split strtok

80334 观看

3回复

125 作者的声誉

如何将字符串拆分为一个标记,然后将它们保存在一个数组中?

具体来说,我有一个字符串"abc/qwe/jkh"。我想分开"/",然后将令牌保存到数组中。

输出将是这样的

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

请帮我

作者: Syeda Amna Ahmed 的来源 发布者: 2013 年 3 月 18 日

回应 3


8

19914 作者的声誉

您可以使用 strtok()

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

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

while(array[i]!=NULL)
{
   array[++i] = strtok(NULL,"/");
}
作者: MOHAMED 发布者: 2013 年 3 月 18 日

21

3095 作者的声誉

决定
#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;
}
作者: rlib 发布者: 2013 年 3 月 18 日

0

1 作者的声誉

我需要帮助,我想知道如果我需要在该函数strtok的第二个参数中放置一个char类型,我该怎么办(NULL,“/”);

作者: Salvador Pocasangre 发布者: 2018 年 11 月 19 日
32x32