Как насчет хорошей функции C99:
int convert_text_file_into_2Dstring(int m, int n)
{
int i, j;
int string[m][n];
for(i=0; i<n; i++)
{
for(j=0; j< m ; j++)
{
//...
}
}
}
Так что вам не нужно mallo c, и вам придется освобождаться позже.
Если вы не можете использовать эту функцию, потому что компилятор не поддерживает ее, вы должны освободить выделенную память:
int i, j;
int **string= (int **)malloc(m * sizeof(char *));
for (i=0; i<n; i++)
string[i] = (int *)malloc(n * sizeof(int));
for(i=0; i<n; i++)
{
for(j=0; j< m ; j++)
{
//...
}
}
for (i=0; i<n; i++)
free(string[i]);
free(string);
теперь вы можете установить во внутреннюю l oop примерно так:
string[j][i] = text[i];
Немного удобнее было бы использовать strcpy:
int convert_text_file_into_2Dstring(int m, int n)
{
int i, j;
int string[m][n];
for(j=0; j< m ; j++)
{
strncpy(string[j],text,n);
}
}