// redundancy checker.cpp : Defines the entry point for the console application. // #include "stdafx.h" int main(int argc, char *argv[]) { long int counter, long_initalizer, temp; int initalizer; char c, redundancy_array[256], whole_file[sizeof(long)]; FILE *ifp, *ofp; if( argc != 6 ) { printf("\n%s%s%s\n%s%s%s\n%s%s%s\n", "Usage: ", argv[0]," (optional) (optional)", "Example: ", argv[0]," MyInfile.txt getridofthis DELETE NULL MyOutfile.txt", "Example: ", argv[0]," myinfile.txt MustChange SET 1 INPUT"); exit(1); } if( argv[5] == "INPUT" || argv[5] == "input" ) ifp = fopen( argv[1], "r+" ); else { ifp = fopen( argv[1], "r" ); ofp = fopen( argv[5], "w" ); } for( initalizer = 0; initalizer < 256; initalizer++ ) /*always initalize array to 0 instead of null for integers, C++ doesn't handle accessing nulls well unlike UScript */ redundancy_array[initalizer] = '\0'; for( long_initalizer = 0; long_initalizer < sizeof(long); long_initalizer++ ) whole_file[long_initalizer] = '\0'; for( counter = 0; (c = getc(ifp)) != EOF; counter++ ) { ++initalizer; whole_file[counter] = c; redundancy_array[initalizer - 1] = c; if( c == '\n' ) { for( temp = 0; redundancy_array[temp] != '=' || redundancy_array[temp] != ' '; temp++ ) { } for( ; redundancy_array[temp] != '\n'; temp++ ) redundancy_array[temp] = '\0'; if( redundancy_array == argv[2] ) { if( argv[3] == "DELETE" || argv[3] == "delete" ) { for( ; whole_file[counter - initalizer] != '\n'; initalizer-- ) whole_file[counter - initalizer] = '\0'; } else if( argv[3] == "SET" || argv[3] == "set" ) { for( ; whole_file[counter - initalizer] != '='; initalizer-- ) { } for( temp = counter - initalizer + 1; whole_file[temp] != '\n'; temp++ ) whole_file[temp] = '\0'; whole_file[counter - initalizer + 1] = *argv[4]; } } for( initalizer = 0; initalizer < 256; initalizer++ ) redundancy_array[initalizer] = 0; initalizer = 0; } } fprintf( ifp, "%s", whole_file ); fclose( ifp ); fclose( ofp ); return 0; }