int main(int argc, char **argv) { namelist nl=make_namelist(); int i; char c='f'; if(strcmp(argv[1],"-p")==0){ i=3; c='t'; } else i=1; while(i<argc){ FILE *file=fopen(argv[i],"r"); char name[64]; while(!feof(file)){ if (fgetname(name,64,file)!= NULL && res_name(name)!=1){ if(c=='f'||(c=='t'&& (name[0])!=*argv[2])) add_name(nl,name); } } fclose(file); i++; } qsort(nl->names,nl->size,sizeof(struct namestat),cmpfunc); print_list(nl); return 0; }
int main (int argc, char **argv){ //varibales namelist nl = make_namelist(); FILE *stream; char *fileName; char name[64]; int FLAG = 0; int i = 1; int j = 0; //upload files in a loop and gets the name to an array for (i=1;i!=argc;i++){//each file fileName = argv[i];//get the file stream = fopen(fileName, "r");//read the file while(fgetname(name, sizeof(name), stream)) { if(legalName(name)){ printf("%s ", name); add_name(nl, name); //printf("\n"); } } fclose(stream); } qsort(nl->names,nl->size,sizeof(struct namestat),compare); for(i=0;i<nl->size;i++){ printf("%s %d\n",nl->names[i].name,nl->names[i].count); } return 0; }
//canalyze a.txt b.txt int main(int argc, char **argv ) { int files=1; namelist nl; nl = make_namelist(); /* //nl and string tests char seg[100]="segev"; char noa[100]=""; char noale[100]="noa'le"; strcpy(noa,noale); char freddy[100]=""; freddy[0]='F'; freddy[1]='r'; freddy[2]='e'; freddy[3]='d'; //freddy[4]=' '; //freddy[5]='\0'; printf("freddy = %s\n",freddy); add_name(nl, "yaniv"); add_name(nl, seg); add_name(nl, noa); add_name(nl, freddy); printf("%s is the first name in the namelist \n", nl->names[0].name); printf("%s is the second name in the namelist \n", nl->names[1].name); printf("%s is the third name in the namelist \n", nl->names[2].name); printf("%s is the forth name in the namelist \n", nl->names[3].name); printf("argc[0]= %s \n",argv[0]); printf("argc= %d \n",argc); char kw[32][10] = {"auto", "double", "int", "long", "break", "else", "long", "switch", "case", "enum", "register", "typedef", "char", "extern", "return", "union", "const", "float", "short", "unsigned", "continue", "for", "signed", "oid", "default", "goto", "sizeof", "volatile", "do", "if", "static", "while"}; int j; for (j=0 ;j<32; j++) printf(" - %s ", kw[j]); printf("\n"); */ while (files<argc) { //printf("%s file is in process \n",argv[files]); checkTxt(nl, argv[files] ); files++; } int k; //not sorted yet qsort(nl->names , nl->size, sizeof(nl->names[0]), compareNameStrings); //sorting via compareNameStrings. //printf("sorted?\n"); for (k=0;k<nl->size ;k++) { //printf("%d, %d=return value\n",k,compareNameStrings(nl->names[k].name, nl->names[k+1].name) ); printf("%s %d \n", nl->names[k].name, nl->names[k].count); } return 0; }
int main(int argc, char **argv) { if(argc == 1) { printf("please run this program with at least one argument.\n"); } else{ int i; char buffer[BUFLEN]; char* saved_words[]= {"int","char","if","else","while","for","return",(char*)0}; namelist file_words= make_namelist(); for (i=1; i<argc; ++i){ FILE *fptr; if ( (fptr = fopen(argv[i],"r")) == NULL) printf ("file %s couldn't be opened\n",argv[i]); else { char word[BUFLEN]; int ich = 0; int isaved = 0; int inword = 0; for(;;) { int ch = fgetc(fptr); if(feof(fptr)) break; if(inword) { if(isalpha(ch)) { // adding char to the word word[ich] = ch; ++ich; } else{ // just finished reading a word word[ich] = 0; ich = 0; inword = 0; if (!find_word(saved_words,word)){ add_name(file_words,word); } } } else { if(isalpha(ch)) { //for the first char of the word ungetc(ch,fptr); inword=1; } if (ch == '\"'){ ch = fgetc(fptr); while (ch != '\"') ch = fgetc(fptr); } } } } } sort_words(file_words); print_words(file_words); } return 0; }
int main(int argc, char **argv) { FILE *ret; int j, i, isEqual=0; namelist ourList = make_namelist(); char tempWord[64]; char *saveWords[] = {"auto", "double", "int", "long", "break", "else", "long", "switch", "case", "enum", "register", "typedef" ,"char", "extern", "return", "union", "const", "float", "short", "unsigned", "continue", "for","signed", "void", "default", "goto", "sizeof" ,"volatile", "do", "if" ,"static" ,"while" }; for (j=1; j < argc; ++j) { ret = fopen( argv[j], "r"); /*ret is a pointer to the file*/ while( fgetname(tempWord, 64, ret)) { isEqual = 0; for(i=0; i<32; ++i) { if(strcmp(tempWord, saveWords[i])!=0) { isEqual = isEqual+1; } if(isEqual==32) { /*tempWord not equal to any of the key words*/ add_name(ourList, tempWord); } } } fclose (ret); } qsort (ourList->names, ourList->size, sizeof(struct namestat), compare); for(i=0; i<ourList->size; ++i) { printf("%s ", ourList->names[i].name); printf("%d\n", ourList->names[i].count); } return 0; }
int main(int argc, char **argv) { namelist nl = make_namelist(); int checks = 0; int i; add_name(nl, "foo"); add_name(nl, "bar"); add_name(nl, "foo"); for(i = 0; i!=nl->size; ++i) { if(!strcmp("foo", nl->names[i].name)) { assert(nl->names[i].count==2); checks|=1; } else if(!strcmp("bar", nl->names[i].name)) { assert(nl->names[i].count==1); checks|=2; } else { checks|=4; } } assert(checks==3); return 0; }