我想在我的 c 程序中添加一个 -r 选项。这样当它在终端的命令行中使用时,它会为我的程序触发不同的操作。我如何告诉我的 c 程序,当它特别看到文本 -r 时,它将跳转到将执行该替代功能的代码段?
到目前为止我做了什么:
到目前为止,我已经设置了我的 c 程序来处理文件,但没有设置选项,所以我的程序能够以这种方式处理文本文件,它以某种方式格式化文本文件并将其打印出标准输出:
./p4.out < 一些文本文件
./p4.out 一些文本文件
从 C by Discovery by Foster 我想出了如何通过使用 FILE 指针和以下内容来做到这一点
主程序形式:
void main(argc, char *argv[])
在我的代码中,我有 if 语句来指示是否有要处理的输入文件或只是通过以下 if 语句从标准输入读取:
if(argc == 1){
//do something with standard in (stdin)
}
if(argc == 2){
//do something with one file parameter (sometextfile)
}
我想添加的功能:
特别是我的 c 程序应该能够采用这样的参数:
./p4.out -r
./p4.out -r sometextfile
./p4.out sometextfile -r
-r 功能应该由我的主程序读取,然后指示应该反转文本文件中的字符。 C by discovery 2nd edition 没有提到如何向 c 程序添加选项,所以我不知道该怎么做。
最佳答案
您要么为您的特定程序制定逻辑,要么使用如下所述的库:http://www.gnu.org/software/libc/manual/html_node/Parsing-Program-Arguments.html#Parsing-Program-Arguments
关于c - 你如何在 Unix 终端中为你的 C 程序实现选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333028/