我正在解析从stdin获取的命令。我的代码几乎可以工作它会打印除第一个令牌之外的所有令牌。下面是我的代码
/* Read a command line */
if (!fgets(line, 1024, stdin))
return 0;
char *p = strtok (line, " \n");
while (p != NULL)
{
Array[tokenscounter++] = p;
p = strtok (NULL, " \n");
}
}
return 0;
}
当我打印存储在数组中的所有标记时,它不会打印第一个标记。任何理由都是这样的行为?