"File error!" appears on NXT, but why? I tried to upload this program to my NXT, but for some reason I am not able to run it properly as it is always terminated with the message File error!. No idea why. 

I am trying to read a .txt file into a char road[][]. I think it is where I insert the value into my 2d array where things go wrong. 

#import "road.txt" 

task main()
{   
    FileOpenType road_txt;
    file.Filename = "road.txt";
    SysFileOpenRead(road_txt); 
    char road[][]; 
    while(road_txt.Result == NO_ERR)
    {
       for( int i = 0; i &lt; 10; i++ )
       {

         for(int j = 0 ; j &lt; 09 ; j++)
         {  
            char temps = fgetc(road_txt.FileHandle);
            if(temps != '\n')
            {
                road[i][j] = temps;

            }
         }

       }    

    }

}
Most probably the problem is that the array is declared, but not initialized. The program does not know how much memory to allocate for this specific array and therefore there is no available storage in RAM for it.

To solve this, try initializing your array. You can either provide the starting dimensions during declaration, like in the last example here.
Which in your case would look like this:

char road[10][9];


And it will result in an array the given size, filled with zeroes.

Or use a function call to do the same if you have specific (not 0) initial values: http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/group___array_functions_ga49d48de55d817e96ed132eadc21260eb.html