C++文件操作问题,实在不知道怎么写?我是新手。 5
我不会写这个题目。而且我写不出。没思路。很多基础不懂。也不知道要学什么知识才能解决。反正我只是会一点,但是,不全面。求一位dalao,有空帮我写。deadline在5月2...
我不会写这个题目。而且我写不出。没思路。很多基础不懂。也不知道要学什么知识才能解决。反正我只是会一点,但是,不全面。求一位dalao,有空帮我写。deadline在5月20日。没时间了。题目:提取服务器日志信息,实现学生课堂作业上交情况统计。(1)分析日志文件。.cpp文件这些。时间,IP,学号,文件。
题目在图片里 展开
题目在图片里 展开
展开全部
你要知道一行中的数的意义,例如,哪个是学号,哪个是 ...
肚取出数据的方法很简单,用fgets() 读一行,用 sscanf() 从字符串里取数,
假定某行 含 CPP, 则是有用的行。输出的次序你可以调整。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin, *fout;
char oneline[200];
char t[10],ip[18],kh[40],fi[40];
int n1,n2,n3;
fin=fopen("a.txt","r"); // 改成你的.log 文件
fout=fopen("b.txt","w"); //改成你的输出 文件名
while(1){
if (fgets(oneline,200,fin)==NULL)break;
sscanf(oneline,"%s %s %s %s %d %d",t,ip,kh,fi,&n2,&n3);
sscanf(kh,"[%d",&n1);
if ( strncmp("CPP",&fi[strlen(fi)-3],3)==0) {
printf("%s %s %s %d %d %d\n",t,ip,fi,n1,n2,n3); //输出到屏幕
// fprintf(fout,"%s %s %s %d %d %d\n",t,ip,fi,n1,n2,n3); // 输出到文件
};
}
fclose(fin); fclose(fout);
return 0;
}
肚取出数据的方法很简单,用fgets() 读一行,用 sscanf() 从字符串里取数,
假定某行 含 CPP, 则是有用的行。输出的次序你可以调整。
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin, *fout;
char oneline[200];
char t[10],ip[18],kh[40],fi[40];
int n1,n2,n3;
fin=fopen("a.txt","r"); // 改成你的.log 文件
fout=fopen("b.txt","w"); //改成你的输出 文件名
while(1){
if (fgets(oneline,200,fin)==NULL)break;
sscanf(oneline,"%s %s %s %s %d %d",t,ip,kh,fi,&n2,&n3);
sscanf(kh,"[%d",&n1);
if ( strncmp("CPP",&fi[strlen(fi)-3],3)==0) {
printf("%s %s %s %d %d %d\n",t,ip,fi,n1,n2,n3); //输出到屏幕
// fprintf(fout,"%s %s %s %d %d %d\n",t,ip,fi,n1,n2,n3); // 输出到文件
};
}
fclose(fin); fclose(fout);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询