如果已经存在一个txt文件,怎样将读取的内容建立一个哈希表,要求用c语言 - 爱问答

(爱问答)

如果已经存在一个txt文件,怎样将读取的内容建立一个哈希表,要求用c语言

这是数据结构的通讯录系统的程序设计,txt文件里是用户姓名,电话,地址,如何读取这个txt

文件并建立成哈希表?

c语言中,文件操作都是由库函数来完成的。要读取一个txt文件,首先要使用文件打开函数fopen()。fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。 “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。其次,使用文件读写函数读取文件。在c语言中提供了多种文件读写的函数:·字符读写函数 :fgetc和fputc·字符串读写函数:fgets和fputs·数据块读写函数:freed和fwrite·格式化读写函数:fscanf和fprinf最后,在文件读取结束要使用文件关闭函数fclose()关闭文件。下面以格式化读写函数fscanf和fprintf为例,实现对文件A.txt(各项信息以空格分割)的读取,并将它的信息以新的格式(用制表符分割各项信息)写入B.txt,实现对A.txt的处理。c语言源程序如下所示:#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef struct student{char name[32];int no;char sex[16];float score;} stu;int main(int argc, char* argv[]){//打开文件FILE * r=fopen("A.txt","r");assert(r!=NULL);FILE * w=fopen("B.txt","w");assert(w!=NULL);//读写文件stu a[128];int i=0;while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF){printf("%s %d %s %g ",a[i].name,a[i].no,a[i].sex,a[i].score);//输出到显示器屏幕fprintf(w,"%s %d %s %g ",a[i].name,a[i].no,a[i].sex,a[i].score);//输出到文件B.txti++;}//关闭文件fclose(r);fclose(w);system("pause");return 0;}

先以读取或添加方式打开文件,再显示、浏览文件,研究特点,离散化,建立哈希函数和处理冲突。


相关标签:c语言

下一篇:为什么我京东的页面打开是这个样子的?其它有些页面打开也是这样,这个怎么弄啊,求大神指点

上一篇:循环嵌套有几种格式,在什么时候使用循环嵌套?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?