⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileinout.c

📁 linux平台下的网络通讯程序
💻 C
字号:
#include <stdio.h>#include <fcntl.h>#include <string.h>#include <errno.h>#include <sys/stat.h>#define MAX_BUF_SIZE 1024#define MIN_BUF_SIZE 256void exit();typedef struct{    char name[MIN_BUF_SIZE];    char pwd[MIN_BUF_SIZE];}USRINFO;int writeinfo(char *fp,const USRINFO *sp){    int fd,bytes_write;    if((fd=open(fp,O_WRONLY|O_APPEND,S_IRUSR|S_IWUSR))==-1)    {	fprintf(stderr,"Open %s Error:%s\n",fp,strerror(errno));	exit(1);    }    bytes_write=write(fd,sp,sizeof(USRINFO));    close(fd);    return bytes_write;}int readinfo(int fd,USRINFO *sp){    int bytes_read;    bytes_read=read(fd,sp,sizeof(USRINFO));    //printf("read ok,name = %s,pwd =%s, size = %d\n",sp->name,sp->pwd,bytes_read);    return bytes_read;}int checkusr(char *fp,const USRINFO *sp){    int fd,bytes_read;    USRINFO buf;    if((fd=open(fp,O_RDONLY,S_IRUSR|S_IWUSR))==-1)    {	fprintf(stderr,"Open %s Error:%s\n",fp,strerror(errno));	exit(1);    }    while(bytes_read=readinfo(fd,&buf))    {	if((bytes_read==-1)&&(errno!=EINTR))break;	else if(bytes_read>0)	{	    if(strcmp(sp->name,buf.name)==0)	    {		if(strcmp(sp->pwd,buf.pwd)==0)		    return 1;		else		    return 0;	    }	    bzero(&buf,sizeof(USRINFO));	}    }    close(fd);    return 0;}/*int main(void){    USRINFO buf;    //printf("name = %s,pwd = %s ,size= %d \n",wenger.name,wenger.pwd,sizeof(USRINFO));    int fd,i;    int bytes_read,bytes_write;    char file1[255]="database";    /*    for(i=0;i<3;i++)    {	printf("n = :");	gets(buf.name);	printf("w = :");	gets(buf.pwd);	writeinfo(file1,&buf);    }        if((fd=open(file1,O_RDONLY,S_IRUSR|S_IWUSR))==-1)    {	fprintf(stderr,"Open %s Error:%s\n",file1,strerror(errno));	exit(1);    }    while(bytes_read=readinfo(fd,&buf))    {	if((bytes_read==-1)&&(errno!=EINTR))break;	else if(bytes_read>0)	{	    printf("name = %s,pwd = %s \n",buf.name,buf.pwd);	    bzero(&buf,sizeof(USRINFO));	}    }    close(fd);    printf("UID = :");    gets(buf.name);    printf("PWD = :");    gets(buf.pwd);    int a;    if((a=checkusr(file1,&buf))==1)	printf("login\n");    else	printf("unvalid usr\n");    return 0;}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -