私のCコードで作業していて、2次元配列の印刷に問題があります。一度に1つの文字列を印刷する代わりに、尋ねられた点からアレイ全体を印刷します。C:2次元配列の印刷に関する問題
例として、入力は「Dog」、「Cat」、「Hat」です。それからそれは印刷されます:
DogCatHat
CatHat
Hat
これは私のコードが行うためにsupposed:これはファイルから読み取ります。 char配列の配列を作成します。各char配列に30個の文字がある場合は、その時点で1文字のファイルから読み込みます。次に、行ごとに1つのchar配列を出力します。
これは、コードは次のようになります。
char fname[] = "folder/text.txt";
char arry[30][30];
FILE *file;
file = fopen(fname, "r");
for(int x=0; x<30; x++){
for(int i=0; i<30; i++){
arry[x][i] = fgetc(file);
}
}
fclose(file);
for(int i=0; i<30; i++){
printf("%s\n", arry[i]);
}
ほとんどの場合、私はちょうど明白なミスを犯してきたが、私はそれを見つけることができませんよ。だから助けてください。
あなたの質問のタイトルが奇妙です! 'printf()'が2次元配列を出力するとは言えません。それはできません。 –
Cの文字列は、実際にはヌルで終了する*バイト文字列と呼ばれることに注意してください。そのターミネータは文字の配列を文字列に変換するものです。 –
@BLUEPIXYそれは問題ではありません。私自身のコードを書くことに失敗しただけです。しかし、tes tjatは問題になるでしょう... – Adrian