在很多日志分析中,日志的每行是一个记录,用脚本处理日志很方便,但是对于大数据量处理有效率的问题。使用c++的文件操作,每次读出日志的一行记录,进行处理,对整个处理过程计时。以下代码是对一个URL日志文件(每行一个URL记录)的文件操作:
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<string>
#include<time.h>
using namespace std;
#define URL_MAX_LEN 2049
int main(){
//FILE *fopen(const char *filename,const char *mode),打开一个流,和文件相关联
char* file_path = "url";
FILE * fp = fopen(file_path,"r");
if(NULL == fp){
cout << "file open err" << endl;
}
clock_t start_time = clock();
char buffer[URL_MAX_LEN];
int num = 0;
while(fgets(buffer,URL_MAX_LEN,fp) != NULL){