Aşağıdaki kodda, char'i char'dan bir dosyadan okumaya çalışıyorum ve her bir karakter dizisini iki boyutlu bir dizide saklıyorum.C iki boyuttan oluşan bir dizi yazdırma
#include <stdio.h>
#pragma warning(disable:4996)
int main(){
char grid[3][5];
FILE *file;
file = fopen("input.txt", "r");
int c;
if (file == NULL){
perror("Error in reading the file");
}
else{
int j=0;
for (int i = 0; i < 3; i++)
{
while (j<5)
{
grid[i][j] = fgetc(file);
j++;
}
j = 0;
}
}
int length = sizeof grid/sizeof grid[0][0];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%c %d %d \n", grid[i][j], i, j);
}
}
printf("\n");
return 0;
}
ben gibi görünüyor okunan dosya:
ABCDE
FGHIJ
KLMNO
İstediğim gibi olmak için sonuç Bundan sonra ben onun koordinatlar, (i ve j) ile dizideki her kömürü yazdırmak istediğiniz :
A 0 0
B 0 1
...
Ama var gerçek sonuçları geçerli:
A 0 0
B 0 1
C 0 2
D 0 3
E 0 4
1 0
F 1 1
G 1 2
H 1 3
I 1 4
J 2 0
2 1
K 2 2
L 2 3
M 2 4
Gördüğünüz gibi, ikinci satır bir boşluk ile ilk ve üçüncü sırayla aynı şekilde basılır. Ayrıca, son iki harf N ve O yazdırılmaz. Birisi bu sorunu çözmeme yardımcı olabilir mi? kod
for (int i = 0; i < 3; i++)
{
while (j<5)
{
grid[i][j] = fgetc(file);
j++;
}
j = 0;
}
bu biraz daha okumak emin karakteri olmak için kontrol edecek bir ise açıklamada eklemek için
İki karakterden oluşan karakterleri okuyorsunuz. Bu karakter, 'char' dizininizin son iki öğesini dışarıya itiyor. –
Dosyanızın içeriğini 'ABCDEFGHIJKLMNO' olarak değiştirin ve düzgün çalışmalıdır. –