c语言从TXT文件读取数据,为了筛选出某个字母。那么筛选了一遍之后,如何回到开始第一个再次筛选? 10
c语言从TXT文件读取数据,筛选出某字母。那么筛选了一遍之后,如何回到开始第一个再次筛选?大概就是在循环中应用什么函数?我一开始用fgetc发现指针一直往后移,不懂如何返...
c语言从TXT文件读取数据,筛选出某字母。那么筛选了一遍之后,如何回到开始第一个再次筛选?
大概就是在循环中应用什么函数?
我一开始用fgetc发现指针一直往后移,不懂如何返回开头。
求教!! 展开
大概就是在循环中应用什么函数?
我一开始用fgetc发现指针一直往后移,不懂如何返回开头。
求教!! 展开
1个回答
展开全部
#include #include //假设要打开的文件内容全是整数(如果是浮点数参照修改) //数据与数据之间用空格分开 //每行中国数据可以不相同 //数组从小到大排序 void sortit(int *a,int n) { int i,j,m; for(i=0;i<n-一;i++) for(j=i+一;ja[j]){ m=a[i];a[i]=a[j];a[j]=m; } } //输出数组元素 void printit(int *a,int n){ int i; for(i=0;i<n;i++){ printf("%5d",a[i]); if (i%一0==9) printf("\n"); //设置每一0个换行 } } //从文件fp中读取n个数据到a void getdata(FILE *fp,int *a,int n){ int i; fseek(fp,0,0); for(i=0;i<n;i++) fscanf(fp,"%d",&a[i]); } //获取文件中整数数椐的个数 int getdatabound(FILE *fp){ int i=0,n; fseek(fp,0,0); while(fscanf(fp,"%d",&n)!=EOF) i++; return i; } int main(){ int n,*a; char *myfile="d:\\data.txt"; FILE *fp; if ((fp=fopen(myfile,"r"))==NULL){ printf("打开文件%s失败\n",myfile); return 0; } n=getdatabound(fp); //获取该文件中有中国整数 printf("该文件共有%d个整数\n",n); a=(int *)malloc(sizeof(int)*n); //分配n个整数的空间 getdata(fp,a,n); //从文件fp中读取n个数据到a fclose(fp); printf("排序前的数组\n"); printit(a,n); //输出数组的值 printf("\n"); sortit(a,n); printf("排序后的数组\n"); printit(a,n); printf("\n");
追问
?看不懂 能稍微解释一下吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询