从txt文件读取并输入到C中的数组

从txt文件读取并输入到C中的数组,第1张

概述我有我的txt文件 4 110 220 112 335 4是行数和4 * 3的int数.我必须读“4”然后读取剩余的并将它们输入数组中 这就是我所拥有的 void main(){ int a,n; int i=0,j=0,k[30]; // int *N; FILE *fp = fopen("test.txt", "r"); 我有我的txt文件

4  110  220  112  335

4是行数和4 * 3的int数.我必须读“4”然后读取剩余的并将它们输入到数组中

这就是我所拥有的

voID main(){     int a,n;        int i=0,j=0,k[30]; //    int *N;    file *fp = fopen("test.txt","r");      if(fscanf(fp,"%d",&a) != 1) { //       // something's wrong     }    n=3*a; //3*a numbers in the file    N = malloc(3 * a * sizeof(int));     for(i = 0; i <n;++i) {       int result=fscanf(fp,&N[i] );      }       fclose(fp);      for(j=0;j<3*a;j++){         k[j]=N[j];     }    printf("%d",k[0]); }

当我打印k [0]时,它应该打印“1”,而是打印整行“110”

还有其他办法吗?

解决方法 格式说明符%d没有指定长度,因此fscanf将读取尽可能多的数字;这就是为什么你得到110而不是1.

如果你指定一个长度,比如?,它将只读取你告诉它的数字:

for(i = 0; i <n;++i) {   int result=fscanf(fp,"%1d",&N[i] );  }
总结

以上是内存溢出为你收集整理的从txt文件读取并输入到C中的数组全部内容,希望文章能够帮你解决从txt文件读取并输入到C中的数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存