#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> int numOfPack32K[ 10000 ]; int numOfPack64K[ 10000 ]; int numOfPack96K[ 10000 ]; int curNumOfPack = 0; int index32 = 0; int index64 = 0; int index96 = 0; int thisOneThousand = 0; int main( int argc, char * argv[] ) { FILE * srcFile = NULL; FILE * dstFile = NULL; char * oneline = NULL; int i; if ( argc < 3 ) { printf("Please input the source and destination file name \n "); exit( 1 ); } for ( i = 0; i < 10000; i++ ) { numOfPack32K[ i ] = 0; } for ( i = 0; i < 10000; i++ ) { numOfPack64K[ i ] = 0; } if ( (srcFile = fopen( argv[ 1 ], "r" )) == NULL ) { printf("Error opening file: %s \n", argv[ 1 ] ); exit( 1 ); } if ( (dstFile = fopen( argv[ 2 ], "w" )) == NULL ) { printf("Error opening file: %s \n", argv[ 2 ] ); exit( 1 ); } oneline = malloc( 1024 ); while( fgets( oneline, 1024, srcFile ) != NULL ) { if ( strstr( oneline, "(4)" ) != NULL ) { curNumOfPack = 0; fprintf( dstFile, "In the past 1000 interation, number of TCP packets send is: %d \n\n", thisOneThousand ); thisOneThousand = 0; }else if ( strstr( oneline, "(1448)" ) != NULL ) { curNumOfPack++ ; }else if ( strstr( oneline, "(912)" ) != NULL ) { curNumOfPack++ ; numOfPack32K[ index32 ] = curNumOfPack; thisOneThousand += curNumOfPack; fprintf( dstFile, "Iteration %d, Number of TCP packets sent: %d\n\n", index32, curNumOfPack ); curNumOfPack = 0; index32 ++; }else if ( strstr( oneline, "(376)" ) != NULL ) { curNumOfPack++ ; numOfPack64K[ index64 ] = curNumOfPack; thisOneThousand += curNumOfPack; fprintf( dstFile, "Iteration %d, Number of TCP packets sent: %d\n\n", index64, curNumOfPack ); curNumOfPack = 0; index64 ++; } if ( strstr( oneline, "(1288)" ) != NULL ) { curNumOfPack++ ; numOfPack96K[ index96 ] = curNumOfPack; thisOneThousand += curNumOfPack; fprintf( dstFile, "Iteration %d, Number of TCP packets sent: %d\n\n", index96, curNumOfPack ); curNumOfPack = 0; index96 ++; } }/* end of while */ fprintf( dstFile, "In the past 100 interation, number of TCP packets send is: %d \n\n", thisOneThousand ); fclose( dstFile ); fclose( srcFile ); return 0; }/*end of main*/