【发布时间】:2015-12-10 22:39:17
【问题描述】:
当我的程序遇到第一个 if 语句时,我不确定为什么会收到分段错误。
这是 simpleShell 程序中的一个方法,其唯一目的是解析存储在 cmd 中的标准输入输入,并通过空格解析为 args 中的单独参数
它永远不会打印if 语句
void parseCmd(char* cmd, char** args)
{
int i;
printf("----------> Parsed here \n");
for(i = 0; i < MAX_LINE; i++) {
args[i] = strsep(&cmd, " ");
if (args[i][0] == '-') {
printf("I was here... \n");
}
if(args[i] == NULL) break;
}
}
【问题讨论】:
-
char **是 no 数组! -
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。
标签: c string parsing pointers strsep