I'm writing a program that counts all of the tokens in a given file ("search"). I can count the number of "#" signs in the file, but I need to name a number of other tokens... {}()/... and output how many where found in the file.
Can anyone offer suggestions as to the best method to accomplish this? Right now I am thinking of having each value set up as it's own variable - such as delim1 = #, delim2 = {, and then creating a function from my current code to call each time. Is there a more efficent/faster method? Here is my current code:
This is working with just one delim on the two lines included in the "search" file below:Code:#include <stdio.h> #include <string.h> #define MAX_LINE 80 int main() { char line[MAX_LINE]; /* Max length of line is 80 */ char delim[] = "#"; /* Testing just # delim */ char *words, *ptr; FILE *fptr; int count = 0; int ch; int linect; fptr = fopen ("search", "r"); /* Test file "search" */ /* File does not exist or there are not proper permissions set */ if (fptr==NULL) printf ("\nCannot open the file\n\n"); else { /* While the file is not at EOF, End of File, loop */ while ((ch=fgetc(fptr)) !=EOF) { /* Reads a line from the file and sets the ptr variable to the line */ fgets(line,MAX_LINE,fptr); ptr=line; linect = linect++; printf("Line reads: %s\n", ptr); /* Loop while looking for delims, when no delims are found it is NULL */ while ((words = strtok(ptr, delim)) != NULL) { printf("Strtok result: %s\n", words); count++; ptr = NULL; } } printf("\nNumber of delims in the file: %d \n\n",(count-linect)); fclose(fptr); } return 0; }
This # is a # test # file.
End#



LinkBack URL
About LinkBacks



