Linux下
(只做了增加和查找功能)
#include <stdio.h>
#include <string.h>
struct info
{
char name[256];
char addr[256];
char phone[15];
};
int add()//增加信息
{
struct info person;
FILE * fp = fopen("phoneBook.txt","a+");
if(NULL == fp)
{
printf("fopen error\n");
return 1;
}
printf("Please Input name:");
scanf("%s",person.name);
printf("Please Input addr:");
scanf("%s",person.addr);
printf("Please Input phone:");
scanf("%s",person.phone);
fwrite(&person,sizeof(person),1,fp);
fclose(fp);
return 0;
}
int search()//查找信息
{
struct info person;
char name[256];
printf("Please Input name: ");
scanf("%s",name);
FILE *fp = fopen("phoneBook.txt","r");
while(1)
{
if(NULL == fp)
{
printf("fopen error\n");
return 1;
}
fread(&person,sizeof(person),1,fp);
if(0 == strcmp(name,person.name))
{
printf("name:%s addr:%s phone:%s\n",person.name,person.addr,person.phone);
break;
}
}
fclose(fp);
return 0;
}
int main(int argc, const char *argv[])
{
int a;
int i = 1;
printf("**********phoneBook**********\n");
while(i)
{
printf("Please Input choice:\n");
printf("*****************************\n");
printf("1 is Add phone information\n");
printf("2 is search phone information\n");
printf("*****************************\n");
printf("Please Input the number 1 or 2:");
scanf("%d",&a);
switch(a)
{
case 1:add();
break;
case 2:search();
break;
}
printf("To continue,Input 1.To exit,Input 0:");
scanf("%d",&i);
}
return 0;
}