c - 我将如何从命令行扫描短语?

标签 c syntax if-statement

我目前正在努力让我的程序按照我想要的方式工作。我目前可以从命令行(无限量)打开任何文本文件并显示它们。我想对此进行扩展,让用户输入格式化显示文本的短语。我以前发布过一个类似的问题并且得到了一些很好的答案,但是我不能使用 getopt()。还有什么可能扫描命令行以查找“-w”和数字,所以“-w5”和没有数字的“-s”。这是我唯一希望能够检测到的两件事。我不介意 if 语句,我希望在我的 friend 中得到最短的程序,但在这一点上,我只想完成它。有任何想法吗?多个 if 语句是我 friend 的想法,我个人认为这是不必要的,但如果那是我必须做的......如果其他人有任何想法,那将非常有用。我只想让我的程序从命令行检测这两个字符。我是 C 的新手(我只制作了几个程序),但我更喜欢学习,我尝试过谷歌搜索并自己尝试这个,但对 C 来说是新手,试图找到我需要的东西所有其他文本和行话都很困难。

任何东西都会有用,谢谢。

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char **argv)
{

int l = 1;
    while(l != argc)
{
        FILE *fp; 


    fp = fopen(argv[l], "rb");
    l++; 

if (fp != NULL) 
{
    int i = 1;
    do
    {
        i = fgetc(fp);   
        printf("%c",i);
        printf(" ");
    }
    while(i!=-1);
    fclose(fp);
}
else
{
    printf("Error.\n");

}
    }
}
void scanningForWS(int argc, char **argv)
{





}

最佳答案

您应该在其 libc.h 中查看 plan9 的 ARGBEGIN 和 ARGEND 宏文件(在文件的最后),看看它是如何完成的(有关其用法的示例,请参阅 arg(3) )。

或者,您可以检查 suckless这种机制的实现,非常好(我已经重新实现了它的一个版本,即使在发现不正确的标志后也能解析参数,但它没有在任何地方发布。如果你需要的话,我可以发布它)。

关于c - 我将如何从命令行扫描短语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772829/

相关文章:

我可以在没有 c 标准库的情况下实现 memset、memcpy 和 memmove 吗?

c++ - 什么是 “pch.h”,为什么需要将其作为第一个头文件包含在内?

scala - 是否可以在 Scala 中声明一个公共(public)字段

java - 为什么在java中的for-each循环中需要声明变量

javascript - var functionName = function() {} vs function functionName() {}

css - 我可以检查父元素在 sass 中有特定的类吗?

python - 如何做具有时间值(value)的报表

java - 用于 Java/Android 的 echoprint 代码生成器

c - 函数原型(prototype)之谜

java - 输入验证并拒绝不当输入