微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

strtok() - 我做错了什么?

如何解决strtok() - 我做错了什么?

我编写了一个用于测试目的的小程序。我希望它输出以下内容

  beforeEach(async((): void => {
    const route = new MockActivatedRoute();
    route.fragment = of('#myhash?some_params=some_value'); 
    // because fragment is an Observable,we need `of(value)`
    

  Testbed.configureTestingModule({
    // declarations,imports,and providers go next:
    providers:[
        { provide: ActivatedRoute,useValue: route},]
  })

查看代码

Geeks
for
Geeks;var1=d;key=value

它编译得很好,但输出是:

#include "header.h"

int fill_cmd_list(char *orig,char *token)
{
        token = strtok(orig,token);
        while (token != NULL) {
                printf("%s\n",token);
                token = strtok(NULL,token);
        }
}

void main(int argc,char *argv[])
{
        char *str,*trenner;
        trenner=malloc(sizeof(char)*2);
        strcpy(trenner,"-");
        str = malloc(sizeof(char)*1000);
        strcpy(str,"Geeks-for-Geeks;var1=d;key=value");
        fill_cmd_list(str,trenner);

        return;
}

在这里遗漏了什么?

解决方法

我混淆了函数参数,不应该分配给令牌本身。

这是按预期运行良好的代码:

require

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。