c - Searching char array for char -


i have been attempting iterate through predetermined array of characters , compare scanned in single char. if scanned char in array want add 2d array if isn't in array want error handling.

my code currently

    char c;     char legalchar[] = "./\\=@abcdefghijklmnopqrstuvwxyz\n";     int rowcount = 0;     int colcount = 0;     int = 0;     file * map;      while (c = fgetc(map), c != eof) {         while (i < (sizeof(legalchar))){             if (c == legalchar[i]){                 if (c == '\n'){                     /*add 1 number of rows , start counting columns again */                     rowcount++;                     colcount = 0;                 }                 else {                     /*would have code add char 2d array here */                     colcount++;                 }             }         i++;     } 

i planned have

    if (c != legalchar[i]){         /*error handling */     } 

but doesn't work because jumps if statement on every iteration.

the output program @ moment colcount gets assigned 1 , rowcount stays @ 0. chars iterated through inside of legalchar[] array i'm not sure i'm doing wrong.

any advice appreciated.

thanks

your problem if (c != legalchar[i]) true. character entered m, in legalchar. if check c != legalchar[i], you're checking c != '.' first time, true.

the better way handle having flag value starts false , set true if find something. once finish loop, if flag still false, know value wasn't found.

additionally, should reset i each time go through loop, , for loop makes more sense while loop, if you're using c99, i can declared within loop..

int c; char legalchar[] = "./\\=@abcdefghijklmnopqrstuvwxyz\n"; int rowcount = 0; int colcount = 0; int = 0; int found = 0; file * map;  while (c = fgetc(map), c != eof) {     found = 0;     (i = 0; < sizeof(legalchar); i++){         if (c == legalchar[i]){             if (c == '\n'){                 /*add 1 number of rows , start counting columns again */                 rowcount++;                 colcount = 0;             }             else {                 /*would have code add char 2d array here */                 colcount++;             }             found = 1;             // break out of loop here?         }     }     if (!found) {         // error handling here     } } 

Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -