首先,我是 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 不起作用的信息吗?标记化后如何执行测试
?
最佳答案
如果您想检查是否向 abc
添加了任何内容,则必须在调用 tokenize 之前将数组初始化为 NUL,然后调用 if (**abc == '\0')
会告诉您没有任何内容被标记化。
但是,除了填充数组之外,您的 tokenize 函数最好还返回一个指示成功或失败的标志。
对于执行test
,您可以使用system()
函数或exec()
函数之一。
关于c - 执行标记化命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858374/