Surface drawing in OpenGl using matrices

Hello I have to make a code that reads a file and then draws a complex surface with the help of the numbers that are inside the document, the problem that I am having is that the file is just a matrix and I dont know what am I supposed to do with it.

4
4
2.000000e+000 0.000000e+000 0.000000e+000 2.000000e+000
0.000000e+000 1.000000e+000 1.000000e+000 0.000000e+000
0.000000e+000 -1.000000e+000 -1.000000e+000 0.000000e+000
-2.000000e+000 0.000000e+000 0.000000e+000 -2.000000e+000

One of the files looks like this, where the two 4 are the rows and the columns of the matrix, other files have 50 or more rows and columns instead of 4

Please, does anybody have an idea of how am I suposed to use all this data to draw a figure

Yes.
find the format of the file.
If you say read a .bmp, you’ll read a header first and data later … in one ‘read bytes’ it will not make sense. The header will consist of say a fixed number of bytes … each or groups representing something particular that you can only know if you know the ‘format’ (including the length of the header). As for the .bmp the format (as far as I know) is not propritary, but others can be. Even if you can achtually ‘read’ the contents you still does not have what I refer to as the format.
This has nothing to do with opengl

The format of the files is .txt

your pc has a program registered to read the bytes as chars and which is able to present (format) those chars with their associated visual presentation properly placed on the screen.
You can access your file data by reading individual bytes/chars or by line … still left with a format to translate this data into. This is obvious and a squabble about word-usage.

Mmmmm sorry I dont quite get it, how can I get the cordinates for the surface that I need to draw