創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),南岳企業(yè)網(wǎng)站建設(shè),南岳品牌網(wǎng)站建設(shè),網(wǎng)站定制,南岳網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,南岳網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。不懂C語言如何實(shí)現(xiàn)簡(jiǎn)單電子通訊錄?其實(shí)想解決這個(gè)問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。
這兩天學(xué)完系統(tǒng)調(diào)用和標(biāo)準(zhǔn)IO,之前的通訊錄可以進(jìn)行一些改進(jìn),將數(shù)據(jù)保存到文件中(圖我這里就不發(fā)了)。
原理:每次啟動(dòng)程序時(shí)先從預(yù)設(shè)文件中以只讀的形式讀取保存的通訊錄信息,然后將讀取到的信息導(dǎo)入到結(jié)構(gòu)體中;每次執(zhí)行退出時(shí),先將預(yù)設(shè)文件以更新方式打開,并將文件中之前保存的信息清空,然后將結(jié)構(gòu)體的數(shù)據(jù)保存到文件中去,再退出程序。
還有在文件寫入時(shí)和讀取時(shí),先寫入(讀?。┍4鏀?shù)據(jù)的總個(gè)數(shù),讓程序知道有多少數(shù)據(jù)要寫入(讀?。缓蟊4婷總€(gè)數(shù)據(jù)的字節(jié)數(shù)(程序會(huì)根據(jù)每個(gè)數(shù)據(jù)的字節(jié)數(shù)來進(jìn)行保存),最后再保存數(shù)據(jù)。
與之前版本相比,改動(dòng)的只有主函數(shù)中加入了讀取文件和寫入數(shù)據(jù)這兩個(gè)步驟,還有的變動(dòng)就是結(jié)構(gòu)體從一個(gè)變成了兩個(gè),將指針從原來一個(gè)結(jié)構(gòu)體中分離出來,方便數(shù)據(jù)從文件中的導(dǎo)入導(dǎo)出。下面是代碼(免得你們往前翻,我把之前的代碼都修改了考過來):
頭文件 head.h 唯一修改的就是結(jié)構(gòu)體
#ifndef HEAD_H_ #define HEAD_H_ #include#include #include #include // sleep函數(shù)頭文件 #include #include #include #define uint unsigned int #define OK 0 #define ERROR -1 #define MALLOC_ERROR -2 #define N 20 typedef int ElementType; typedef struct data { ElementType ID; // ID號(hào) char Name [N]; // 姓名 char Mobile_Phone [N]; // 手機(jī)號(hào)碼 char Home_Address [N]; // 家庭住址 char Company_Tell [N]; // 公司電話 }Data; typedef struct _Node { Data data; struct _Node* next; // 節(jié)點(diǎn)指針 }Node; typedef Node* PNode; // 重命名節(jié)點(diǎn)指針類型 //顯示操作界面 int Interface_Display (); //添加好友信息 (尾插法) int Add_Friend (PNode head, ElementType num); //顯示所有好友信息 int Friend_Information (PNode head); //查找好友 int Search_Friend (PNode head, char* Name); //刪除好友 void Delete_Friend (PNode head, char* Name); #endif