void read_char_from_file(FILE *fp, int formatted)
{
char sChar[16], eol;
int col=0, row=0,ind=0,count=0;
char *str2D[4][4]={{ "NULL" }};
while ((fscanf(fp, "%s%c", sChar,&eol)) != EOF)
{
if(eol!='\n')
{
str2D[row][col]=sChar;
printf("Row: %d, Col: %d = %s\n",row, col,str2D[row][col]);
col++;
}
else {
str2D[row][col]=sChar;
printf("Row: %d, Col: %d = %s\n",row, col,str2D[row][col]);
row++;
col=0;
}
str2D[row][col]=0;
}
int i,j;
for (i=0; i < 3; i++)
{
for(j=0; j <3; j++)
printf("%s",str2D[i][j]);
}
}
上記のコードは、前の配列の内容のすべてを上書きするstr2D
の最後の要素を表示しています。 sChar
を文字列の2次元配列にコピーする必要があります。前の配列要素を上書きする文字列の2D配列の最後の要素
'{{" NULL "}};'!= {{NULL}}; ' –
4x4行列の内容が初期化文の後になるものと思われるものは' char * str2D [ 4] [4] = {{"NULL"}}; '。私はあなたの期待が満たされていないと確信しています。 – bruceg