C语言中如何将一个数组导入到文件中?

Python012

C语言中如何将一个数组导入到文件中?,第1张

使用文件操作函数写入文件即可。对于数组type a[N], 要将其写入文件有两种方式可以使用。1 将数组以二进制方式写入文件。如fwrite(a, sizeof(a), 1, fp)可以将数组整体以二进制方式写入文件中。2 按照元素,依次写入文件。具体写入格式与数组的类型有关。如为int数组可以写作:int ifor(i = 0i <Ni++)fprintf("%d,", a[i])两种方法各有优缺点:1 代码量上,第一种方式更简单高效;2 运行效率上,第一种方法的执行效率更高;3 文件空间大小上:如果数组中的字符串元素较多,那么二者写入后目标文件大小相似,或者第二种方式占用的空间较小。如果数组中的整型或浮点型数据较多,那么第一种方式占用的空间较小。4 目标文件可读性:第一种方法得到的文件是二进制文件,需要用专门的阅读器打开,且必须是专业人士才可以读懂。第二种方法更直观,直接打开文本文件就可以阅读输出结果。

//---------------------------------------------------------------------------

#include

int

main(void)

{

FILE

*fp

int

i,a[10],b[10]={0}

fp=fopen("c:\\a.txt","w")//打开文件以便写入数据

for

(i

=

0

i

<

10

i++)

{

//准备要写入文件的数组

a[i]=i*327

}

for

(i

=

0

i

<

10

i++)

{

//将a数组中的整数写入fp指向的c:\a.txt文件

fprintf(fp,"%d\n",a[i])

}

fclose(fp)

//写入完毕,关闭文件

fp=fopen("c:\\a.txt","r")//打开文件以便从中读取数据

for

(i

=

0

i

<

10

i++)

{

//从fp指向的文件中读取10个整数到b数组

fscanf(fp,"%d",&b[i])

}

fclose(fp)

//读取完毕,关闭文件

for

(i

=

0

i

<

10

i++)

{

//输出从fp文件读取的10个整数。

printf("%d\n",b[i])

}

return

0

}

//---------------------------------------------------------------------------