如何解决C语言编程,读取特定的代码行
我对C编程非常陌生,现在我试图读取文件并在以后的功能中使用该文件中的信息。我要从文件中提取的唯一内容是数字,我不需要单词 我正在读取的文件格式为
&& hello
3 3
&& world
1
&& welcome
2
3
因此,基本上,如果该行以'&&'开头,则可以忽略
FILE* in = fopen(filename,"r");
if (in == NULL){
perror("Error reading file \n");
}
我不确定该怎么做以确保我只接受不以'&&'开头的行。 读取整个文件,我知道我可以做一个简单的while循环
while(( char li = fgetc(in)) != EOF) {
printf("%c",li)
}
非常感谢您的帮助
解决方法
在此示例中,为了解析整数,使用了int
,但是类型取决于期望的数字大小。
这假设文件已可靠格式化。
C Playground interactive example
#include <stdio.h>
#include <inttypes.h>
int main (void) {
// be sure to choose the right size of integer
// depending on the values you can get
int n1,n2;
// same here,buffer size matters
char buf[2001];
while (fgets(buf,2000,stdin) != NULL) {
if (buf[0] == '&' && buf[1] == '&') {
printf("starts with &&,skipping...\n");
continue;
}
fscanf(stdin,"%d %d",&n1,&n2);
printf("Num 1 is %d\n",n1);
printf("Num 2 is %d\n",n2);
}
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。