怎么将文件读入一个一维数组

怎么将文件读入一个一维数组,第1张

二维数组的定义和一维数组非常接近,只是多了一个维度,在 *** 作上一般要用二重循环来完成。

输入或初始化一般这样做:

for

i:=1

to

m

do

begin

for

j:=1

to

n

do

read(a[i,j])

readln

end

输入二维数组的各个元素:

for

i:=1

to

m

do

//输入m行

begin

for

j:=1

to

n

do//输出一行n个元素

write(a[i,j]:5)

writeln//输入一行后换行。

end

#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

}

使用for循环加文件 *** 作函数即可读取txt文件当中的数组。

1、C语言标准库提供了一系列文件 *** 作函数。文件 *** 作函数一般以f+单

词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、

fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件 *** 作位置的获取与设置。一般的C语言教程

都有文件 *** 作一章,可以找本教材进一步学习。

2、例程:

#include<stdio.h>

int i,a[100]

int main(){

    FILE * fp1 = fopen("input.txt", "r")//打开输入文件

    FILE * fp2 = fopen("output.txt", "w")//打开输出文件

    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出

        puts("不能打开文件!")

        rturn 0

    }

    for(i=0fscanf(fp1,"%d",a+i)!=EOFi++)//从输入文件连续读取整数到数组a

    for(i--)fscanf(fp2,"%d ",a[i])//把数组a逆序写入到输出文件当中

    fclose(fp1)//关闭输入文件

    fclose(fp2)//关闭输出文件,相当于保存

    return 0

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存