问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言读取文件然后保存到数组中

发布网友 发布时间:2022-08-21 04:30

我来回答

5个回答

热心网友 时间:2023-11-17 21:40

1,文件里的数据是不同类型的,既有字符类型的,也有整型的。
2,遇到这种情况,可以按照字符串类型定义数组。例如,char s[100][4];
3,编写程序时,一个一个字符读取,遇到空格就完成了一个数据读取。遇到换行,就换到下一行。
这道题目的关键是把数据类型当作字符串类型处理。
你看下面的程序中,把文本的内容都按照整型数来读取,那么当然有问题!数组s的声明是错误的!

热心网友 时间:2023-11-17 21:41

c语言读取文件然后保存到数组中的流程是:

打开文件

根据文件格式循环读取数据

将数据存入数据

重复2-3,直到文件读取完毕

关闭文件

下面是示例代码:

#include<stdio.h>
int main()
{
int s[5][8];
int num[]={0,6,5,6};
int i,j;
FILE *fp;
if((fp=fopen("D:\\test.txt","r"))==NULL)
{puts("No test.txt");return 0;}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
fscanf(fp,"%d",&s[i][j]);
}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
{
if(j==1)
printf("%c ",s[i][j]);
else
printf("%d ",s[i][j]);
}
puts("");
}
fclose(fp);
return 0;
}

热心网友 时间:2023-11-17 21:41

1.用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2.例程:
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],b[100],c[100];
int i=3,j=4,k=0; //第三行,第四列
FILE *fp = fopen("data.txt","r");
while(fgets(c,100,fp)){ //读入每行数据
i--;
if(i==0) strcpy(a,c); //读到第三行数据
b[k++]=c[j-1]; //把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s\n",i,a);
printf("第%d列数据:%s\n",j,b);
fclose(fp);
}

热心网友 时间:2023-11-17 21:42

#include<stdio.h>
int main()
{
int s[5][8];
int num[]={0,6,5,6};
int i,j;
FILE *fp;
if((fp=fopen("D:\\test.txt","r"))==NULL)
{puts("No test.txt");return 0;}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
fscanf(fp,"%d",&s[i][j]);
}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
{
if(j==1)
printf("%c ",s[i][j]);
else
printf("%d ",s[i][j]);
}
puts("");
}
fclose(fp);
return 0;
}追问输出的数据不是我文本里的数据啊

热心网友 时间:2023-11-17 21:43

#include<stdlib.h>

void main()
{
FILE *fin;
int x[10],t;
int i,j;

fin=fopen("test.dat","r");
for (i=0;i<10;i++) fscanf(fin,"%d",&x[i]);
fclose(fin);
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (x[i] > x[j]);
for (i=0;i<10;i++) printf("%d ",x[i]);
}

假定是整型数,用空白分隔,存在文件 test.dat中。
例如:
22 33 11 5 6 8 10 100
99 71
结果是:
5 6 8 10 11 22 33 71 99 100
另外,团IDC网上有许多产品团购,便宜有口碑
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 现在追剧为何越来越贵?投屏要收费这是不是换了一个方式割韭菜? 哈林的女友是谁 人妻控,姐控,大脸控哪个更可怕 脸上只有一张大嘴的人是什么恐怖电影 关于人人网的灵异事件 最近看了超女王贝的报道,感觉挺恐怖的,可是我的脸真的很大,有没有比较安全的方法可以把脸变小呢? 2b铅笔和2h铅笔有什么区别 嫁给你用英语怎么说? 我要娶你和我要嫁你的英语是什么。 “我只想嫁给你”的英文翻译 我要嫁给你的英文怎么说 五年后我愿意嫁给你 英语 “我愿意嫁给你”用英语怎么说 三国群英传5-7女兵 哪个动漫一人的异能是召唤一堆女兵? 冰心 笑 课后题目 全国目前有多少家社区医院呀? 无限弹空白任务图标 鼠标放上去消失,又继续无限弹出,当前编辑页面各种动作也会被弹出来 组装机怎样在blos里设置启用 网络里面怎么设置一天后才能启用 c语言怎么把文件存到数组 C语言如何将txt文档按行存进一个一维数组? 银行背债业违法吗?谢谢- 问一问 这个图片里的狗谁知道叫什么?是不是什么卡通角色? 老师的散文 关于写老师的文章 我的姐姐初一作文 《我的姐姐》原型:21岁时父母生了弟弟,两年后我把他送人了 我这个姐姐是不是很凶 关于PHP创建用于存放用户数据表的代码,求大神帮我看看 李子柒被曝陷入资本困局,类似经历网红太多,最惨的账号都被清空 李子柒起诉杭州微念前已陷入三个月“停更期”,到底发生了什么? 十二星座中最强星座之王 有没有专门给土地确权打官司的律师呀,或者懂这方面的,求帮助。 法学专家级律师 钳工要学的数学知识有些什么? BTGO手机绑定后台代理号有风险吗 BTGO游戏推广违法吗 BTGO代理登录- 问一问 btbank挖矿后台跑了么?