69,371
社区成员
发帖
与我相关
我的任务
分享
FILE *fp,*fw;
int i = 0,j=0;
char id[32+1]; //改 char id[32];
unsigned int pid;
short type;
long tm;
char ip[257+1]; //改 char ip[257];
fp = fopen("wtmpx","rb");
fw = fopen("my","wb");
if (fp==NULL || fw==NULL)
{
cout<<"打开文件失败"<<endl;
exit(-1);
}
id[32] = 0; //加 字符串结尾
ip[257] = 0; //加 字符串结尾
while(1)
{
memset(id,0,sizeof(char)*32);
i=fread(id,32,1,fp);
if(i<=0)
{
break;
}
fseek(fp,36,SEEK_CUR);
memset(&pid,0,sizeof(unsigned int));
fread(&pid,4,1,fp);
memset(&type,0,sizeof(short));
fread(&type,2,1,fp);
fseek(fp,6,SEEK_CUR);
memset(&tm,0,sizeof(long));
fread(&tm,4,1,fp);
fseek(fp,30,SEEK_CUR);
memset(ip,0,sizeof(char)*257);
fread(ip,257,1,fp);
fseek(fp,1,SEEK_CUR);
printf("%s %d %d %ld %s\n",id,pid,type,tm,ip);
fprintf(fw,"%s %d %d %ld %s\n",id,pid,type,tm,ip);
cout<<"文件读取保存成功"<<endl;
//移出循环 fclose(fw);
//移出循环 fclose(fp);
}
fclose(fw);
fclose(fp);