c - 执行标记化命令

标签 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 不起作用的信息吗?标记化后如何执行测试

最佳答案

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

但是,除了填充数组之外,您的 tokenize 函数最好还返回一个指示成功或失败的标志。

对于执行test,您可以使用system()函数或exec()函数之一。

关于c - 执行标记化命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858374/

相关文章:

c - 在 C 中使用 pthreads 在循环中创建线程时是否需要延迟?

c - 两个程序链接到动态链接库

c - 如何列出包含头文件的所有文件

c - 结构标量初始值设定项中的多余元素

c - 应该使用 realloc 吗?

Python ctypes : how to pass row outputs from a C function into a pandas DataFrame?

C共享内存

c - C 中的 UDP 套接字 - Sendto() 发送失败 : invalid arguments

c - 如何在 strcmp() 函数中使用字符数组

c - 取消时如何收集线程退出状态(使用 join)