【问题标题】:using strtok and populating array使用 strtok 并填充数组
【发布时间】:2018-05-22 18:14:18
【问题描述】:

我正在根据标准输入的输入填充一组标记。我正在看一个教程,代码成功填充了一个数组,但是,我无法使用 if else 条件来消除我不想放入数组中的令牌。

char * token[MAX_ARGS];                    
char ** arg;                              
while(fgets(line, MAX_BUFFER, stdin)) {

    arg = token;
    *arg++ = strtok(line," \t\n"); 
    while ((*arg++ = strtok(NULL, " \t\n")));

我能否获得一些关于如何在最后一行打破while循环的指针,以便我可以使用if else。

【问题讨论】:

标签: c strtok


【解决方案1】:

这样更干净

char *tok = strtok(line, " \t\n");
while(tok) {
    *arg++ = tok;
    tok = strtok(NULL, " \t\n");
}

现在NULL 指针没有放在数组中。

但是,您没有记录数组中有多少指针,所以为什么不想要标记值 NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-29
    • 2016-07-24
    • 1970-01-01
    • 2017-09-16
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多