
1 2 3 4 5 6
   | FILE *fp; while(!feof(fp)) {     fscanf(fp,"%s%d%lf",a,&b,&c);     printf("%s%d%lf",a,b,c) }
   | 
 
fscanf能正确操作的txt文件编码方式为ANSI,以下编码方式均不能使函数正常执行:UTF-8,Unicode,Unicode big endian
这里假如说txt文本内的内容为(对应上面三个数据来写):
这里数据与数据之间需要以制表符/或者空格分开即可,数据之间就像scanf()函数一样,若以逗号分隔数据,则scanf中也需要加入逗号,例如scanf("%d,%d",a,b);再输入数据时就要输入1,5才能正确输入
但这里尝试fscanf()函数之后并未能出现同样的效果,以后解决了再更新
上菜展示一下效果:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | #include <stdio.h> #include <stdlib.h>
  int main() {     int num;     char name[20];     double height;     FILE *fp;     fp = fopen("d:\\1.txt", "r+");     if (fp == NULL)     {         printf("Cannot open the file!\n");         exit(0);     }     printf("学号\t姓名\t身高\n");
      while (!feof(fp))     {         fscanf(fp, "%d%s%lf", &num, name, &height);         printf("%d\t%s\t%g", num, name, height);
      }     printf("\n");     fclose(fp);     return 0; }
   |