The first step is to work on the indentation of your programs. The compiler doesn't care, but we do - it really helps to figure out problems.
Code:
#include <stdio.h>
#include <string.h>
int main(void)
{
char stone_color[82];
char column[82];
int row[82];
int i;
int x;
FILE *fp;
fp = fopen("goboard1.txt", "r");
if (fp == NULL) {
printf(" Not a valid pointer! \n");
}
i == 0;
while (fscanf(fp, "%s", stone_color[i]) != EOF) {
fscanf(fp, "%s", column[i]);
fscanf(fp, "%d", row[i]);
i++;
}
return (0);
}
Next, use a compiler which is capable of diagnosing printf/scanf mistakes.
Code:
$ gcc -Wall foo.c
foo.c: In function ‘main’:
foo.c:18: warning: statement with no effect
foo.c:19: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
foo.c:20: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
foo.c:21: warning: format ‘%d’ expects type ‘int *’, but argument 3 has type ‘int’
foo.c:10: warning: unused variable ‘x’
In your case, ALL the parameters you're passing to fscanf are of the wrong type.