array out of bound seg fault
Code:
int read_word(int fld_delim, int rec_delim, int eor_delim, char field[MAXSIZE], FILE *fp) {
int p, i;
p = i = 0;
while ( (p=getc(fp))!= EOF ) {
if( p == fld_delim) {
field[i++] = '\0';
return FLD_DELIM;
}
if( p == rec_delim) {
field[i++] = '\0';
return REC_DELIM;
}
if ( p == eor_delim ) {
field[i++] = '\0';
return EOR_DELIM;
}
if ( i <= MAXSIZE ){
printf("i=%d",i);
field[i++] = p; // <-- I get array out of bound here
printf("field= %s\n",field);
}
}
field[i++] = '\0';
return FINISH;
}
Thanks for the help!