执行Tokenize Command

时间:2015-11-22 18:20:14

标签: c

首先,我是C的新手,如果要求太多,请原谅我。

我有一个功能,用户对输入进行标记,所以让我们说

user input: test -f myFile

然后在tokenize函数之后变为

abc[0] = test
abc[1] = -f
abc[2] = myFile

但是,与此同时,我还需要使用该输入(test)语句的返回值,无论它是FALSE还是TRUE(文件是否存在)。

我做了(我的问题)

if (*abc != '1') {
    printf ("nope.");
}

希望在我调用其他函数之前先告诉我该文件是否有效/存在。但是,它表示指针和整数之间的警告比较。

我最初的计划是:

// ask the user for input

// tokenize the input

if (*abc != '1') { // check the return value from the input
        printf ("nope.");
    }

// call another function

为什么MYPROBLEM不起作用的任何输入?我如何标记化后如何执行test

1 个答案:

答案 0 :(得分:0)

如果要检查是否有任何内容添加到abc,您必须在调用tokenize之前将数组初始化为NUL,然后if (**abc == '\0')会告诉您没有任何内容被标记化。< / p>

但是,除了填充数组之外,您的tokenize函数可能更好地返回指示成功或失败的标志。

至于执行test,您可以使用system()函数或其中一个exec()函数。