11 1122 0 1122 * * 0 0 22 222 0 222 * * 0 0 33 333 0 333 * * 0 0
FILE*fopen(const char*filename,const char *mode); int fprintf(FILE*stream,const char *format,...) int fscanf(FILE* stream,const char *format,...) int fseek(FILE*stream,long offset,int origin) long ftell(FILE* stream)
FILE *fp=fopen("clientinfo.txt","ar+");
Clientinfo info;
memset(&info,0,sizeof(Clientinfo));
。。。。
。。。。/*完成对info结构体的赋值*/
fprintf(fp,"s s d s s s d d",info.id,info.nickname,\
info.online,info.pwd,info.encryp,info.ip,info.port,info.fd);
fprintf(fp,"\n");
fclose(fp);
FILE *fp=fopen("clientinfo.txt","r+");
Clientinfo info;
long nline=0,n;
memset(&info,0,sizeof(Clientinfo));
int oldline=0;/*记录匹配位置的前一行的偏移量*/
CString str;
while((n=fscanf(fp,"%s %s %d %s %s %s %d %d",info.id,info.nickname,\
&info.online,info.pwd,info.encryp,info.ip,&info.port,&info.fd))!=EOF)
{
str.Format("%d",nline);
MessageBox(str);
if(strncmp(info.id,id,id.GetLength())==0)/*查找要修改的位置*/
{
oldline=nline;
break;
}
nline=ftell(fp);
}
fseek(fp,oldline,SEEK_SET);/*定位到要修改的位置,注意,这个位置是上一次读的最后,故写的时候要先写换行,第一行除外*/
if(oldline!=0)
{
fprintf(fp,"\n");
}
fprintf(fp,"s s d s s s d d",info.id,info.nickname,\
info.online,info.pwd,info.encryp,info.ip,info.port,info.fd);
fprintf(fp,"\n");
fclose(fp);
11 1122 0 1122 * * 0 0
22 222f 0 222f * * 0 0
33 333 0 333 * * 0 0
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有