使用 strtok 和填充数组
using strtok and populating array
我正在根据标准输入的输入填充一组标记。我在看一个教程,代码成功地填充了一个数组,但是,我无法使用 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。
这样更干净
char *tok = strtok(line, " \t\n");
while(tok) {
*arg++ = tok;
tok = strtok(NULL, " \t\n");
}
现在 NULL
指针未放置在数组中。
但是,您没有记录数组中有多少指针,所以为什么不想要标记值 NULL
?
我正在根据标准输入的输入填充一组标记。我在看一个教程,代码成功地填充了一个数组,但是,我无法使用 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。
这样更干净
char *tok = strtok(line, " \t\n");
while(tok) {
*arg++ = tok;
tok = strtok(NULL, " \t\n");
}
现在 NULL
指针未放置在数组中。
但是,您没有记录数组中有多少指针,所以为什么不想要标记值 NULL
?