C基础学习笔记——01-C基础第15天(快 yi通)

在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

01-C基础第15天(快 yi通)

练习:查找单词记录单词翻译

程序分析

一、读取文件中的单词
1、打开文件判断文件可用性
2、创建构体struct dict {char * word,char* trans}结构体需要开辟堆空间
3、读取文件内容开辟堆空间,存放在堆空间中文件行数/2=获取单词个数两行算作一个单词
4、关闭文件

二、查找单词
1、通过键盘获取单词
2、通过循环查找单词记录单词翻译
3、退出死循环

三、释放堆空间
1、释放单词和翻译
2、释放结构体堆空间
索引:struct index{ char flag,int start,int end}flag=a      36
for(int i=index.start;i<index.end;i++)
{
}

dict.c代码如下:

  1 #define _CRT_SECURE_NO_WARNINGS
  2 #include "dict.h"
  3 
  4 
  5 
  6 ////全局变量
  7 //dic * p;
  8 
  9 //1、打开文件 存储数据
 10 void ReadFile(dic ** p)
 11 {
 12     //开辟堆空间
 13     //*p = (dic*)malloc(sizeof(dic)*WORDMAX);//  realloc()  链表
 14     *p = (dic*)malloc(sizeof(dic)* WORDMAX);
 15 
 16     //读取文件内容
 17     FILE * fp = fopen("D:\dict.txt", "r");
 18     if (!fp)
 19         return -1;
 20     int i = 0;
 21     char buf[1024];
 22     while (!feof(fp))
 23     {
 24         memset(buf, 0, 1024);
 25         fgets(buf, 1024, fp);
 26 
 27         //格式化操作
 28         //buf[strlen(buf) - 1] = ' ';
 29         for (int i = strlen(buf); i > 0; i--)
 30         {
 31             if (buf[i] == '
')
 32             {
 33                 buf[i] = '