用C語言實現通訊錄檔案儲存的版本

2021-08-01 09:10:56 字數 3124 閱讀 3252

要實現檔案儲存,首先需要了解幾個函式

fopen :file *fopen( const char *filename, const char *mode );

作用:fopen函式開啟指定的檔案檔名。;引數filename字串表示開啟檔案的檔名。引數mode字串表示開啟方式;

今天我們用到了兩個開啟方式: 「r+」和「w」

「r+」:開啟對閱讀和寫作。該檔案必須存在。(這裡也可以用」r」);

「w」:讀寫開啟乙個空檔案。如果給定的檔案存在,它的內容被破壞。

fprintf 和 fscanf

int fprintf( file *stream, const char *format [, argument ]…);

int fscanf( file *stream, const char *format [, argument ]… );

用法和printf(fscanf)其實相同,只是前面加了乙個檔案結構體指標stream,把在在鍵盤上讀換成檔案中讀,把往螢幕上寫換成往檔案中寫。

介紹完我們使用的函式,先介紹下我的思想:

**有三個檔案項組成:

adder.h

adder.c

test.c

這裡面就是定義了一些常量,和函式

#ifndef __adder_h__

#define __adder_h__

#define _crt_secure_no_warnings 1

#include

#include

#include

#include

#define max_con 2

#define max_name 20

#define max_*** 7

#define max_tele 15

#define max_add 20

typedef struct contacts

contacts;

typedef struct pcon

pcon;

void read_exe(pcon *pconer);//讀取檔案中資料

void add_contact(pcon* pconer);//增添聯絡人

void del_contact(pcon* pconer);//刪除聯絡人

void find_contact(pcon* pconer);//查詢聯絡人

void mod_contact(pcon* pconer);//刪除聯絡人

void acc_contact(pcon* pconer);//修改聯絡人

void remov_contact(pcon* pconer);//清除通訊錄

void sort_contact(pcon* pconer);//按姓名排序通訊錄

void write_exe(pcon *pconer);//退出程式前寫入檔案中

#endif //__addre_h__

#include "adder.h"

void memu()

int main()

; pcon pconer; //建立結構體,儲存通訊錄人數,大小,內容

read_exe(&pconer); //函式讀資料

do

}while(1);

write_exe(&pconer); //寫資料

return

0;}

#include "adder.h"

void init(pcon *pconer)

pconer->sz = 0;

pconer->max_data = max_con;

}void read_exe(pcon *pconer) //讀取資料

else

if(pconer->adder == null)

for(i=0;isz);i++)

fclose(pf);

}void check_adder(pcon **pconer) //判斷記憶體是否已滿,若滿了則增加空間

}void add_contact(pcon *pconer) //1.新增聯絡人;

void del_contact(pcon* pconer) //2.刪除指定聯絡人

; scanf("%s",buf);

while(isz)

if(i == pconer->sz)

while(isz)

--pconer->sz;

}void find_contact(pcon* pconer)//3.查詢聯絡人

if(i == pconer->sz)

pconer->adder[i].name,pconer->adder[i].***,

pconer->adder[i].age,pconer->adder[i].tele,pconer->adder[i].add);

}void mod_contact(pcon* pconer)//4.修改聯絡人

if(i == pconer->sz)

printf("修改專案:1 姓名 2 性別 3 年齡 4 ** 5 住址\n");

scanf("%d",&number);

printf("請輸入修改後的內容:");

switch(number)

}void acc_contact(pcon* pconer) //5.顯示所有聯絡人

}void remov_contact(pcon* pconer)//6.清除所有聯絡人資訊

int compare(const

void *str1, const

void* str2) //qsort 排序

void sort_contact(pcon* pconer) //以名字排序通訊錄

void write_exe(pcon *pconer)

fclose(pf);

}

用C語言實現簡易通訊錄

c語言實現乙個通訊錄,通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 提供方法 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清空所有聯絡人 7.以名字排序所有聯絡人 思路分析 首先我們可以分三...

c語言實現通訊錄

通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 提供功能 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清空所有聯絡人 7.以名字排序所有聯絡人 ifndef contact h define ...

C語言實現通訊錄

今天寫乙個簡單的c語言小專案,簡易的通訊錄 編譯環境 win10 vs2013 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 通訊錄包含的功能 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清...