The C programming language中一个简单的关于命令行参数的解析实例
#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int getline(char *line, int max);
#define MAXLINE 1000
int getline(char *line, int max);
int getline(char s[], int lim) {
int c, i;
i = 0;
while (--lim > 0 && (c = getchar()) != EOF && c != '\n')
s[i++] = c;
if (c == '\n')
s[i++] = c;
s[i] = '\0';
return i;
}
int main(int argc, char *argv[]) {
char line[MAXLINE];
long lineno = 0;
int c, except = 0, number = 0, found = 0;
while (--argc > 0 && (*++argv)[0] == '-')
while ((c = *++argv[0]))
switch (c) {
case 'x':
except = 1;
break;
case 'n':
number = 1;
break;
default:
printf("find: illegal option %c\n", c);
argc = 0;
found = -1;
break;
}
if (argc != 1)
printf("Usage: find -x -n pattern\n");
else
while ((getline(line, MAXLINE) > 0)) {
lineno++;
if ((strstr(line, *argv) != NULL )!= except) {
if (number)
printf("%ld:", lineno);
printf("%s", line);
found++;
}
}
return found;
}
C语言命令行参数解析
本文介绍了一个使用C语言编写的简单程序,该程序演示了如何解析命令行参数,并根据这些参数来查找文本模式。程序支持两个选项:忽略匹配(-x)和显示行号(-n)。此外,还提供了一个getline函数用于读取输入行。
3254

被折叠的 条评论
为什么被折叠?



