从文件中读取字符矩阵

时间:2018-08-19 13:47:56

标签: c matrix

我正试图从文件中读取字符矩阵,以解决更复杂的问题,但我不知道读取错误的地方。我在下面的代码中附加了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--;
    }
}

1 个答案:

答案 0 :(得分:1)

似乎您没有阅读换行符。在每一行之后,读取一个字符(如果不是换行符\n,则可能会报告错误)。