C语言,怎么把TXT文件里的数据赋值到数组里面

 我来答
鲜明又宽厚灬mmB
游戏玩家

2020-04-27 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:926万
展开全部
首先要用fopen函数打开这个文件、然后用fread函数对文件中的数据进行读取、
例如:
if((fp=fopen("data.txt","a+"))==NULL)
//打开指定文件,判断是否存在
{
printf("指定文件不存在!\n");
return;
}
while(!feof(fp))
//如果未遇到文件结束的标志,文件存在
if(fread(&stu[length],sizeof(struct
StuMessage),1,fp)==1)//读取成功则返回读入的数据块个数
length++;
//统计当前记录条数
fclose(fp);
//关闭文件
文件中的内容将存储在stu数组中、、
你可以去看下C语言中文件的相关知识、、
胥谷雪黎鸣
2020-03-24 · TA获得超过3.1万个赞
知道小有建树答主
回答量:1.1万
采纳率:30%
帮助的人:897万
展开全部
一、编程思路。
1
以文本方式打开文件。
2
循环用fscanf格式化输入数据到数组。
3
判断fscanf的返回值,如果显示到达文件结尾,退出输入。
4
关闭文件。
5
使用数据。
二、代码实现。
设定文件名为in.txt,
存有一系列整型数据,以空格或换行分隔。
代码可以写作:
#include
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 = 0; j < i; j ++)//循环输出数组元素。
{
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
多羲毋拔
2019-12-09 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:777万
展开全部
对于数组type
a[n],
要将其写入文件有两种方式可以使用。
1
将数组以二进制方式写入文件。如
fwrite(a,
sizeof(a),
1,
fp);
可以将数组整体以二进制方式写入文件中。
2
按照元素,依次写入文件。具体写入格式与数组的类型有关。如为int数组可以写作:
int
i;
for(i
=
0;
i
<
n;
i++)
fprintf("%d,",
a[i]);
两种方法各有优缺点:
1
代码量上,第一种方式更简单高效;
2
运行效率上,第一种方法的执行效率更高;
3
文件空间大小上:
如果数组中的字符串元素较多,那么二者写入后目标文件大小相似,或者第二种方式占用的空间较小。
如果数组中的整型或浮点型数据较多,那么第一种方式占用的空间较小。
4
目标文件可读性:
第一种方法得到的文件是二进制文件,需要用专门的阅读器打开,且必须是专业人士才可以读懂。
第二种方法更直观,直接打开文本文件就可以阅读输出结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式