Мне нужна помощь, я хотел бы распечатать информацию из файла (в символах)
Я решил использовать 2D-массив, так как данные выглядят примерно так
0 0 . . .
0 0 . . .
. . . . .
. . . . .
. . . . .
Кажется, я не могу распечатать их с кодом, который я подготовил сейчас
, пожалуйста, см. Ниже:
/* Read from file, pass on file contents to a 2D array, Print file contents from 2D array*/
#include<stdio.h>
#include<string.h>
#define N 5
//My proposed function to print an array with contents from a file
void printboard(int **a, int n, int n);
int main(int argc, char *argv[])
{
char linestr[100];
int board[N][N];
int k;
int h=0, l=0;
if(argc==2) //File should be called from the terminal hence working with argc & argv
{
FILE *fp;
fp = fopen(argv[1], "r");
if(fp == NULL)
{
printf("Error, can't open '%s' file!!!\n", argv[1]);
return -1;
}
while (fgets(linestr,sizeof linestr, fp) != NULL)
for(k=0; k<strlen(linestr); k++)
{
if (linestr[k]!='\n')
{
board[h][l]=(int)linestr[k];
l++;
}
h++;
l=0;
}
fclose(fp);
}
printboard(board,h,l);
return 0;
}
void printboard(int **a, int n, int n)
{
int i, j;
for (i=0; i< N; i++)
{
for (j=0; j< N; j++)
{
printf("%c", a[i][j]);
}
printf("\n");
}
}
У меня есть базовые знания в C, и я начал программировать только 1,5 месяца назад,Есть ли какой-нибудь совет от сообщества, как я могу это исправить или сделать это лучше?Цель состоит в том, чтобы напечатать содержимое файла в формате 2D-массива.Мне бы очень хотелось, чтобы данные работали с 2D-массивом, потому что мне нужно работать над ним, чтобы переместить «0» в игре под названием Peg Solitaire.