我目前正在努力让我的程序按照我想要的方式工作。我目前可以从命令行(无限量)打开任何文本文件并显示它们。我想对此进行扩展,让用户输入格式化显示文本的短语。我以前发布过一个类似的问题并且得到了一些很好的答案,但是我不能使用 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/