如何更改以下代码,使其也遍历文件而不是仅通过stdin?例如,如果我在./detag blah
哪里是文本文件,该程序就可以工作?
我是否使用if语句并尝试使用cat
它?
int main() {
int in_tag = 0;
char c;
while ((c = getchar()) != EOF) {
if (c == '<' || c == '>') {
in_tag = (c == '<') ? 1 : 0;
} else {
if (!in_tag) {
putchar(c);
}
}
} }
#include <stdio.h>
int main(int argc, char **argv) {
int in_tag = 0;
char c;
FILE *fp;
fp = fopen(argv[1],"r");
if (fp == NULL){
perror("Error");
}
else{
while ((c = fgetc(fp)) != EOF) {
if (c == '<' || c == '>') {
in_tag = (c == '<') ? 1 : 0;
} else {
if (!in_tag) {
putchar(c);
}
}
}
}
}
例子:
[12:43:24] wthom@dragon21:~/test [30] cat blah
this is a line in blah
this is a line in blah too
[12:43:26] wthom@dragon21:~/test [31] ./a.out blah
this is a line in blah
this is a line in blah too
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句