我正试图从文件中读取字符矩阵,以解决更复杂的问题,但我不知道读取错误的地方。我在下面的代码中附加了o / p图片和实际的问题。请给我一个提示,我不一定希望得到完整的解决方案。
[![enter image description here][1]][1]
[![enter image description here][2]][2]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *f;
void matrix()
{
int i,j,nl,nc;
char c;
char file[50][50];
fscanf(f,"%d %d \n",&nl,&nc);
for(i=0;i<nl;i++)
{
for(j=0;j<nc;j++)
{
c = getc(f) ;
file[i][j]=c;
}
}
for(i=0;i<nl;i++)
{
for(j=0;j<nc;j++)
printf("%c",file[i][j]);
printf(" \n");
}
}
int main()
{
int set;
f=fopen("in.txt","r");
fscanf(f,"%d \n",&set);
while(set!=0)
{
matrix();
set--;
}
}
答案 0 :(得分:1)
似乎您没有阅读换行符。在每一行之后,读取一个字符(如果不是换行符\n
,则可能会报告错误)。