第1个回答 推荐于2018-04-21
#include<stdio.h>
main(){
FILE *fin;
char buff[500];
int id,flag=0,i,j;
int a[10];
fin=fopen("abc.txt","r");
while(1){
if (fgets(buff,100,fin)==NULL)break;
sscanf(buff,"%d;",&id);
if (id==6){flag=1;break;}
}
fclose(fin);
if (flag==0) printf("no results\n");
else {
for (i=0;i<strlen(buff);i++) if (buff[i]==';') {strcpy(buff,&buff[i+1]);break;};
for (i=0;i<strlen(buff);i++) if (buff[i]==',') buff[i]=' ';
j = sscanf(buff,"%d %d %d %d %d %d %d %d %d %d",
&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);
for (i=0;i<j;i++) printf("%d\n",a[i]);
}
return 0;
}
数据存在 abc.txt 中。
读入 6 这行,存 a[].本回答被网友采纳
第3个回答 2013-09-04
你的数字之间,有逗号、有分号还有空格,实际文件也是这样的吗
追问是这样的,换另一种写法也可以。
5 2 1 11 2
6 2 3 13 1
7 2 3 7 1 11 1
即所有的数字之间用空格隔开。
还是想搜索开头为给定数字的那一行,比如给定6,搜到它所在的那一行,把其余数字放到数组里,得到 int b[]={2,3,13,1}。这要怎么实现呢?
追答每行的数字个数也是不确定的吗
追问不确定的,数字个数随意。
追答可以在不确定每行数字的长度,任意的设定读取的首个数字
TXT 文件的内容

首个数字是 8 的查询

首个数字是 6 的查询

首个数字是 7 的查询

这样的结果可以吗
追问可以,能把代码或代码片段发给我吗?谢谢啦~
追答满意请采纳,然后私信联系我
本回答被提问者采纳