我正在尝试从文件中读取字符矩阵以解决更复杂的问题,但我不知道读取出了什么问题。我已附上以下代码的 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--;
}
}
最佳答案
似乎您没有读取换行符。每行后面读取一个字符(如果不是换行符 \n
可能会报错)。
关于c - 从文件中读取字符矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51918315/