用C语言写一个查单词的小demo
时间:2022-07-05 12:30:00
用C写一个检查单词的小语言demo
#include #include #include int main(int argc, const char *argv[]){ // 以只读的方式打开我们的单词库 FILE *fp = fopen("dict.txt","r"); if (NULL == fp){ perror("fopen"); return -1; } while (1){ // 定义两个缓冲区接收数据 (用于存储用户查询的数据和单词库中读取的数据) char buf1[100]; char buf2[100]; // 将指针定位到文件开头 fseek(fp,0,SEEK_SET); // 清空缓存区 memset(buf1,0,sizeof(buf1)); printf("请输入单词(quit退出):"); // fgets(buf1,sizeof(buf1),stdin); scanf("%s",buf1); // 如果用户输入quit,则退出 if (strcmp(buf1,"quit")==0) return -1; // 记录用户输入的长度 int len = strlen(buf1); while(1){
// 清空缓存区 memset(buf2,0,sizeof(buf2)); // 从单词库中读数据 char *p = fgets(buf2,sizeof(buf2),fp); // printf("buf2 = %s\n",buf2); if (NULL == p){
perror("fgets"); printf("%s:not find\n",buf1); break; } // 将用户输入的数据和读取到的数据做比较 char * flag = strstr(buf2,buf1); // printf("------------------\n"); // printf("buf1[0] = %c\n",buf1[0]); // printf("buf2[0] = buf1[0]=%d\n",buf2[0]==buf1[0]); // printf("flag = %d\n",flag); // strstr返回值不为空,并且返回的地址和buf2的地址一样并且 buf1的长度为len,则buf2[len] == ' '; if (flag != NULL && flag == buf2 && (buf2[len] == ' ')) {
printf("%s",buf2); break; } } } // 关闭文件 fclose(fp); return 0;}
下面为一个小型的单词库
abandonment n.放弃abbreviation n.缩写abeyance n.缓办,中止abide v.遵守ability n.能力able adj.有能力的,能干的abnormal adj.反常的,变态的aboard adv.船(车)上abolish v.废除,取消abolition n.废除,取消abortion n.流产abortive adj.无效果的,失败的about prep.关于,大约above prep.在...之上,高于above-mentioned adj.上述的abreast adv.并肩,并列abridge v.省略,摘要abroad adv.国外,海外abrogate v.取消,废除abrogation n.取消,废除abrupt adj.突然的,生硬的abruptly adv.突然地absence n.缺席,缺乏absent adj.缺席的,不存在absent-minded adj.心不在焉的absolute adj.完全的,绝对的absolutely adv.绝对,完全absorb v.吸收,专心于absorption n.吸收,专注abstract adj.抽象的,难懂的abstraction n.抽象,提取absurd adj.荒唐的absurdity n.荒唐(事)abundance n.丰富,大量abundant adj.丰富的,充裕的abuse v.滥用,谩骂abasement n.滥用academic adj.学院的,学术的academy n.学院,研究院accede v.同意accelerate v.加速,加快acceleration v.加速,促进accent n.腔调 v.重读accept v.接受,同意acceptable adj.可接受的,合意的acceptance n.接受,承兑access n.接近,入口accessible adj.可接近的accessory n.附件,装饰品accident n.事故,意外之事accidental adj.意外的,偶然的accidentally adv.偶尔,附带accommodate v.提供便利,拆借accommodation n.便利,通融accompaniment n.伴侣,伴奏accompany v.伴随,伴奏accomplish v.完成,达到accomplishment n.成就accord v.符合,协调accordance n.按照,与...一致according adj.按照,据...说accordingly adj.相应地,从而account n.账目 v.说明accountant n.会计(师)accounting n.会计学accrue v.产生,发生accrued adj.增值的,应计的accumulate v.积累,积蓄accumulation n.积累accumulative adj.积累的accuracy n.准确(性)accurate adj.准确的,精密的accurately adj.准确地accusation n.控告accuse v.告发,指责accustom v.使...习惯于ache v.觉得疼 n.疼痛aching adj.疼痛的achieve v.完成,实现achievement n.完成,成就acid n.酸acknowledge v.承认,鸣谢acknowledgment n.承认,鸣谢,回执acquaint n.使熟悉,相识acquaintance n.熟悉人,相识acquaintant adj.熟悉的acquire v.求得,获得acquisition n.获得acre n.英亩acrobat n.杂技演员acrobatics n.杂技across prep.横越 adv.横穿act n.行为,法令 v.表演action n.行为,行动activate v.使活跃,开动active adj.活跃的,积极的actively adv.积极地,活跃地activity n.活动actor n.男演员actress n.女演员actual adj.现实的,实际的actuality n.实际actually adv.实际上,居然acute adj.剧烈的,敏锐的a.d. (缩)公元ad n.(缩)广告adapt v.使适应,改编adaptation n.适应add v.增添,加,补充addition n.增加,附加物additional adj.增加的,附加的additive adj.附加的 n.添加剂address n.地址 v.致词adequate adj.足够的,恰当的adequately adv.恰当地adhere v.粘附,坚持adhesive n.粘合剂adjacent adj.邻近的adjective n.形容词adjoin v.毗连adjust v.调整,修整adjustable adj.可调整的adjustment n.调整administer v.管理administration n.行政管理,管理机关administrative adj.行政管理的admirable adj.可钦佩的admiration n.羡慕,钦佩admire v.钦佩,赞美admission n.准入,承认admit v.承认,接纳admittedly adv.明白地adolescence n.青春期adolescent adj.青春期的adopt v.采用,采纳adoption n.采用adore v.崇拜,敬慕adorn v.装饰,佩带adornment n.装饰(品)adult n.成年人 adj.成年的advance n.,v.前进advanced adj.先进的,发达的advantage n.优点,优势advantageous adj.有利的,有用的adventure n.冒险,惊险活动adventurous adj.冒险的adverb n.副词adverbial adj.副词的adversary adj.敌手,对手adverse v.逆的,相反的adversity n.逆境,不幸advertise v.登广告,推销advertising adj.广告的advertisement n.广告advice n.忠告,意见advisable adj.适当的,可行的advise v.劝告,通知adviser n.顾问advocate v.拥护,提倡aerial adj.天空的,航空的aeroplane n.飞机affair n.事件,事情affect v.影响,改变affection n.友爱,爱慕affectionate adj.充满感情的affiliate n.分号(公司)affirm v.断言,肯定affirmation n.确定,确认affirmative adj.肯定的afford v.买得起,经受得起affordable adj.买得起的afloat adj.航行中的aforesaid adj.上述的afraid adj.害怕的,恐怕africa n.非洲african adj.非洲的 n.非洲人after prep.在...后afternoon n.下午afterward adv.后来again adv.再,又against prep.反对,对着age n.年龄,时代agency n.代理,代理处agent n.代理人,试剂aggravate v.加重,恶化aggravation n.加重,恶化aggregate v.,n.,adj.合计(的)aggregation n.总计,集合aggression n.侵略aggressive adj.侵略的,进取的aggressor n.侵略者agitate v.鼓动agitation n.鼓动,不安ago adv....以前agonize v.使痛苦agony n.苦恼,痛苦agree v.同意,一致认为agreeable adj.惬意的,易相处的agreeably adv.欣然,依照agreed adj.商定的agreement n.一致,协议agricultural adj.农业的agriculture n.农业ahead adv.在...前aid n.,v.援助,救护aids n.(缩)艾滋病ailment n.疾病aim n.目的 v.旨在,指向aimless adj.无目的的air n.空气,气派aircraft n.航空器airline n.航线,航空公司airliner n.定期航班airmail n.航空邮件airplane n.飞机airport n.机场airway n.航线aisle n.过道,走廊ajar adv.半开的alarm n.惊慌,警报alarming adj.警告的alas int.唉,哎呀album n.相册,地图册alcohol n.酒精alcoholic adj.含酒精的alcoholism n.嗜酒者,酒鬼ale n.淡啤酒alert adj.警惕的,灵活的algebra n.代数alien adj.异国的,异样的alienate v.疏远,转让,挪用alienation n.异化alignment n.对准,准线alike adj.相象的alive adj.活着的,有生命的all adj.所有的 n.一切allergic adj.过敏的,变态的allergy n.反感,过敏alliance n.联合,同盟allied adj.同盟的allocate v.分配allocation n.分配allot v.分配,配给allotment n.分配,份额allow v.允许,许可allowance n.补助,津贴alloy n.合金ally n.同盟者 v.结盟almost adv.几乎,差不多alone adj.单独的,仅仅along prep.沿着 adv.一起alongside prep.在...旁边aloud adv.大声地alphabet n.字母表also adv.也alter v.改变,变动alternate v.轮流,交替alternation n.改变,变更alternative n.,v.两者取一although conj.虽然altitude n.高度altogether adv.全部地,总共aluminum n.铝always adv.总是,始终a.m. (缩)上午amateur adj.业余的amaze v.使惊叹amazement n.惊奇,诧异ambassador n.大使ambient adj.周围的,包围着的ambiguity n.歧义性,意义不明处ambiguous adj.模棱两可的ambition n.抱负,野心ambitious adj.雄心勃勃的ambulance n.救护车amend v.修改,更正amendment n.修改(通知书)amends n.赔偿america n.
美国,美洲american adj.美国的 n.美国人amiable adj.和蔼的,亲切的amicable adj.友好的,和睦的amid prep.在...之间ammunition n.弹药among prep.在...之中amount n.数量,总数 v.合计ampere n.【电】安培ample adj.宽大的,充裕的amplification n.放大amplifier n.放大器,扩音机amplify v.详述,放大amuse v.逗乐,给娱乐amusement n.娱乐,乐趣analogue n.模拟,类似物analogy n.类似,类推analysis n.分析,分解analytical adj.分析的,解析的analyze v.分析,分解ancestor n.祖先,祖宗anchor n.锚 v.停泊ancient adj.古老的,古代的and conj.和,与,而anecdote n.轶事,轶闻angel n.天命,安琪儿anger n.生气,愤怒angle n.角,角度angry adj.生气的,愤怒的angular adj.角状的animal n.动物animate v.使有活力,激活animation n.生气,生机ankle n.踝,踝骨annex n.附录,附件anniversary n.周年纪念日announce v.宣布,通报announcement n.通知announcer n.播音员annoy v.烦扰,使生气annoyance n.烦恼,麻烦事annual adj.每年的,年度的annually adv.每年,年年another pron.,prep.另一个answer n.答案 v.答复ant n.蚂蚁antagonism n.对立,敌对antagonist n.对手,敌手antarctic adj.南极的antibiotic adj.抗菌的antecedent n.触角,天线anticipate v.期望,预料anticipation n.期望,预料antique adj.古老的 n.古玩antonym n.反义词antonymous adj.反义的anxiety n.焦虑,担心anxious adj.焦急的,切盼的anxiously adv.焦急地,急切地any adj.任何,一些anybody pron.任何人anyhow adv.无论如何anyone pron.无论谁anything pron.无论什么anyway adv.不管怎样anywhere adv.无论何地apart adv.分离,隔开apartment n.套房,公寓ape n.猿猴apologize v.道歉apology n.道歉apparatus n.仪器,设备apparent adj.明显的,表面上的apparently adj.显然,似乎appeal v.,n.呼吁,上诉appealing adj.有吸引力的appear v.出现,好象appearance n.出现,外表appendix n.附录,盲肠appetite n.食欲,欲望applaud v.称赞,拍手喝彩applause n.喝彩,欢呼apple n.苹果appliance n.用具,器械applicable adj.生动的,适用的applicant n.申请人application n.申请,应用apply v.应用,申请appoint v.任命,约定appointment n.任命,约会appreciable adj.可看到的appreciably adv.相当大地appreciate v.欣赏,感激appreciation n.欣赏,感激appreciative