I’ve created this function to read a word. I got segmentation fault and I can’t find the problem. Here’s what I’ve done.
void LeeCaracter(FILE * fp, char * s)
{
char c;
int i = 0;
c = fgetc(fp);
while(c==' ' || c=='\t' || c=='\n')
c = fgetc(fp);
while(c!=' ' && c!='\n')
{
s[i] = c;
i++;
c = fgetc(fp);
}
s[i] = '\0';
}
s is a pointer parameter, as I have to use it later. Is it correct to write it just with one *? Thanks for your help!
*And what about if I wanted to know the character that follows the word(‘ ‘ or ‘\n’)? I added this after the while loop:
“printf(“%c”,c);”
but it doesn’t print anything. Any ideas?
You have to make sure that the ‘s’ has enough space for containing a word with maximum characters in the input file. Then you need to make sure that you check for ‘End Of File’. Here is a working version. I hope it works for you as well.