I'm trying to read a text file containing integers via stdin and store the values in a 9x9 array (please note that the file must be read via stdin and not as an arg)
This is what I have:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int puzzle[9][9];
    int i,j,count=0;  
    char value[81];
    for( i = 0; i < 9; i++ ) {  
      for( j = 0; j < 9; j++ ) {  
        scanf("%c", &value[count]);  
        puzzle[i][j] = value[count] - '0'; 
        count++;  
      }
    }
}
But it doesn't seem to convert the ASCII characters from scanf to int, which is what I thought the value[count] - '0' was supposed to do, so I end up getting values like this:
-16-16-160-16-160-16-161
Basically i'm trying to do exactly whats described in this thread, but in C instead of C++:
How to convert a 2d char array to a 2d int array?
Edit -
The input file looks like this (contains both white space and new lines):
   0  0  1  9  0  0  0  0  8         
   6  0  0  0  8  5  0  3  0     
   0  0  7  0  6  0  1  0  0     
   0  3  4  0  9  0  0  0  0     
   0  0  0  5  0  4  0  0  0     
   0  0  0  0  1  0  4  2  0     
   0  0  5  0  7  0  9  0  0
   0  1  0  8  6  0  0  0  7
   7  0  0  0  0  9  2  0  0        
 
     
     
    