c语言将文件内容读入数组中

c语言将文件内容读入数组中,第1张

#include <stdio.h>

int main(int ac, char *pav[])

{

if (ac!=2){

printf("程序名 要读取的文件名\n")

printf("test.exe 1.txt\n")

return 0

}

FILE *fp = fopen(pav[1],"r+")

if(fp == 0)

{

printf("fail to open the file1 !\n")

return 0

}

char buf[256] = {0}

while(!feof(fp))//判断文件是否已结束 

{

fgets(buf,256,fp)

}

printf(buf)

return 0

}

一、编程思路。

1 以文本方式打开文件。

2 循环用fscanf格式化输入数据数组

3 判断fscanf的返回值,如果显示到达文件结尾,退出输入。

4 关闭文件。

5 使用数据。

二、代码实现。

设定文件名为in.txt, 存有一系列整型数据,以空格或换行分隔。

代码可以写作:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include <stdio.h>

int main()

{

int v[100]//开一个足够大的数组。

int i = 0, j

FILE *fp//文件指针

fp = fopen("in.txt", "r")//以文本方式打开文件。

if(fp == NULL) //打开文件出错。

return -1

while(fscanf(fp, "%d", &v[i]) != EOF) //读取数据到数组,直到文件结尾(返回EOF)

i++

fclose(fp)//关闭文件

for(j = 0j <ij ++)//循环输出数组元素。

{

printf("%d ", v[j])

}

return 0

}

当文件内容为:

1 35 6 8 9 9

10 123 34

76 54 98

程序输出:

1 35 6 8 9 9 10 123 34 76 54 98

#include<stdio.h>

#include<string.h>

#define M 100//最大行数

int main()

{

  FILE *fp=NULL

  int nums[M],age[M],i=0,n1,n2,len=0

  char name[M][10],str[10]

  fp=fopen("c:\\test.data","r")

  while(fscanf(fp,"%d%s%d",&n1,str,&n2)!=-1)

  {

      nums[i]=n1

      strcpy(name[i],str)

      age[i]=n2

      i++

      len++

  }

  for(i=0i<leni++)

      printf("%d %s %d\n",nums[i],name[i],age[i])

  return 0

}


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

原文地址: http://outofmemory.cn/tougao/11499898.html

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

发表评论

登录后才能评论

评论列表(0条)

保存