C - strsep()函数,带有int错误,返回值为char *

时间:2015-12-20 03:47:04

标签: c strsep

我在C代码中使用了strsep(),但是我收到了这个错误。

enter image description here

void    get_token()
{ 
    char    *token;
    char    *stringp;
    int n = 1;

    stringp = buf;

    while( stringp != NULL )
    {
            token = strsep(&stringp, "\t\n");
            switch(n) {
            case 1 : strcpy(label, token);
            case 2 : strcpy(opcode, token);
            case 3 : strcpy(operand, token);
            } n++;
    }
}

这是我的代码,我使用这样的strsep()。 我不知道错误说int。 strsep()返回char *我想。

1 个答案:

答案 0 :(得分:3)

您正在使用未在RestUser中声明strsep()的实现。

后果是;

  1. 编译器假定<string.h>返回strsep()(因此是第一个警告)
  2. 链接器(int)在链接中包含的库中找不到名为ld的函数(因此strsep()未解析strsep()的错误)。
  3. 发生这种情况的原因是ld不是标准C库的一部分。你需要获得一个包含它的库,或者#34;滚动你自己的&#34;版本strsep()