資源簡介
在Linux操作系統下,用c語言寫的一篇通訊錄,主要有增刪改查的功能,里面有數據庫的表,各位可以借鑒一下。

代碼片段和文件信息
#include??
#include??
#include??
#include??
#include??
#include??
#include??
#include??
#define?portnumber?3333
struct?message
{
????int?id;
????char?name[20];
char?age[20];
????char?tel[20];
????char?addr[20];
????int?action;
};
int?main(int?argc?char?*argv[])?
{?
int?sockfd;?
char?buffer[1024];?
struct?sockaddr_in?server_addr;?
struct?hostent?*host;?
int?nbytes;
struct?message?msg;
int?n_read;
int?i;
char?ch[10];
/*使用hostname查詢host名字*/
if(argc!=2)?
{?
fprintf(stderr“Usage:%s?hostname?\a\n“argv[0]);?
exit(1);?
}?
if((host=gethostbyname(argv[1]))==NULL)?
{?
fprintf(stderr“Gethostname?error\n“);?
exit(1);?
}?
/*客戶程序開始建立sockfd描述符*/
if((sockfd=socket(AF_INETSOCK_STREAM0))==-1)?//AF_INET:Internet;SOCK_STREAM:TCP?
{?
fprintf(stderr“Socket?Error:%s\a\n“strerror(errno));?
exit(1);?
}?
/*客戶程序填充服務端的資料*/
bzero(&server_addrsizeof(server_addr));?//初始化置0?
server_addr.sin_family=AF_INET;??????????//IPV4
server_addr.sin_port=htons(portnumber);??//(將本機上的short數據轉化為網絡上的short數據)端口號
server_addr.sin_addr=*((struct?in_addr?*)host->h_addr);?//IP地址
/*客戶程序發起連接請求*/
if(connect(sockfd(struct?sockaddr?*)(&server_addr)sizeof(struct?sockaddr))==-1)?
{?
fprintf(stderr“Connect?Error:%s\a\n“strerror(errno));?
exit(1);?
}?
while(1)
{
system(“reset“);
printf(“?????????????????*====================================*\n“);
printf(“?????????????????|?????????多功能電子通訊錄???????????|\n“);
printf(“?????????????????|????????????????????????????????????|\n“);
printf(“?????????????????|????????????????????????????????????|\n“);
printf(“?????????????????|????????????????????????????版本:1.0|\n“);
printf(“?????????????????--------------------------------------\n“);
printf(“?????????????????|???1:添加好友信息??2:查看好友信息???|\n“);
printf(“?????????????????|???3:搜索好友信息??4:刪除好友信息???|\n“);
printf(“?????????????????|???5:修改好友信息??6:退出???????????|\n“);
printf(“?????????????????*====================================*\n“);
printf(“?????????????????請輸入你所要做的操作:\n“);
printf(“?????????????????insert/display/search/delete/alter/exit:\n“);
char?cmd[20];
while(1)
{
???? printf(“?????????????????Please?input?cmd:“);
???? scanf(“%s“cmd);
???? if(strcmp(cmd“insert“)?==?0) //插入操作?????
???? {
???????????? system(“reset“);
msg.action?=?1;
????????
printf(“Please?input?id:\n“);
???????? scanf(“%d“&msg.id);
???????? printf(“Please?input?name:\n“);
???????? scanf(“%s“msg.name);
printf(“Please?input?age:\n“);
scanf(“%s“msg.age);
???????? printf(“Please?input?tel:\n“);
???????? scanf(“%s“msg.tel);
???????? printf(“Please?input?addr:\n“);
???????? scanf(“%s“msg.addr);
???????? write(sockfd&msgsizeof(msg));
read(sockfd&msgsizeof(msg));
if(msg.action?==?1)
{
???? printf(“insert?success!\n“);
}
else
{
???? printf(“insert?error!\n“);
}
printf(“\nBack?to?Menu?(yes/no)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-26?09:38??網絡通訊錄\
?????文件???????10993??2017-03-26?09:36??網絡通訊錄\client
?????文件????????2048??2017-03-17?14:35??網絡通訊錄\message.db
?????文件????????9450??2017-03-26?09:38??網絡通訊錄\server
?????文件????????7438??2017-03-26?09:36??網絡通訊錄\tcp_client.c
?????文件????????6093??2017-03-17?11:02??網絡通訊錄\tcp_client.c~
?????文件????????6103??2017-03-18?14:30??網絡通訊錄\tcp_server.c
?????文件????????4736??2017-03-16?15:17??網絡通訊錄\tcp_server.c~
- 上一篇:C++貪心算法實現活動安排問題(代碼)
- 下一篇:英漢詞典(C語言實現)
評論
共有 條評論