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

📄 striplog.c

📁 robocup rcssserver-11.1.2.zip
💻 C
字号:
/*   FILE: striplog.c     AUTHOR: Tom Howard             Modifed from exteamname.c by          Marc Butler    DATE: 2000-08-24   DESC:   This program was written for Robocup2000 in Melbourne.   It strips message info from logs */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <netinet/in.h>#define LOGFILE_MAGIC "ULG"#define MAGIC_SIZE 4/* Order is important. */#include "param.h"#include "types.h"int main(int argc, char *argv[]){  char magic[4];  FILE*  log_fp = NULL;  FILE* save_fp = NULL;    if (argc != 3) {    printf("\nUsage: %s oldlogfile newlogfile\n", argv[0]);    exit(1);  }  /* Open the log. */  log_fp = fopen(argv[1], "r");  if (log_fp == NULL) {    char tmp[128];    sprintf(tmp, "Error open log file \"%s\" for reading ", argv[1]);    exit(1);  }  save_fp = fopen (argv[2], "w");  if (save_fp == NULL) {    char tmp[128];    sprintf(tmp, "Error open log file \"%s\" for writing ", argv[1]);    exit(1);  }    /* Check the log file magic entry. */  if (fread(magic, sizeof (char), MAGIC_SIZE, log_fp) != MAGIC_SIZE) {    printf("\nError reading log file magic.\n");    exit(1);  }    if (strncmp(magic, LOGFILE_MAGIC, 3) != 0) {    printf("\nError invalid log file magic: %s\n", magic);    exit(1);  }  if (magic[3] != 2) {    printf("\nError can't handle log files of version: %d\n", magic[3]);    exit(1);  }  fwrite(magic, sizeof (char), MAGIC_SIZE, save_fp);    /* Main processing loop for the log file. */  while (1)    {        short mode = 0;    showinfo_t showinfo;    /* MSG_MODE data. */    short board = 0;    short length = 0;    char msg[4096];    if (fread(&mode, sizeof (short), 1, log_fp) != 1) {      //if (!found) {      //printf("\nError exhausted log file before finished.\n");      //exit(1);      //}      //else {	break;	//}    }    switch (ntohs(mode)) {    case SHOW_MODE:      fread(&showinfo, sizeof (showinfo), 1, log_fp);      fwrite(&mode, sizeof (short), 1, save_fp);      fwrite(&showinfo, sizeof (showinfo), 1, save_fp);      printf("cycle = %d\n", ntohs(showinfo.time));           break;    case MSG_MODE:      /* Read the message and ignore. */      fread(&board, sizeof (short), 1, log_fp);      fread(&length, sizeof (short), 1, log_fp);      fread(&msg, sizeof (char), ntohs(length), log_fp);      break;    }         }  fclose (save_fp);  fclose (log_fp);  return (0);}

⌨️ 快捷键说明

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