C语言,从外部文件中读取新行字符

时间:2017-03-04 01:10:01

标签: c arrays file fgetc

大家好我有一个这样的外部文件:

screenshot

我想读取所有字符(包括空格和新行)到我的2维(行和列)数组,但我没有这样做。例如,在第10行和第1列(左下角)的该文件中有一个'/'字符。我想把'/'放在我的数组[9] [0]中(数组中的索引从0开始而不是1),所以每个字符都在数组中与文件相同。

这是我的代码:

#include <stdio.h>

int main(void) {
/** my index array variable, i for row and j for column */
int i;
int j;

/** varible to read character */
char c;

/** array for the input. The file will not consist more than 17 rows and 2017 columns*/
char input[17][2017];

/** pointer to a file */
FILE *fp;

/** read that file. (my code and that file are located in the same place) */
fp = fopen("bangun.in", "r");

/** start reading the file */
i = 0;
j = 0;
while ( (c = fgetc(fp)) != EOF){
        if (c != 0) {
            input[i][j]=c;
        }
        else if (c == '\n') {
            input[i][j]=c;
            printf("get in");
            i++;
        }
    j++;
}
fclose(fp);
return 0;
}
如果我的算法很糟糕,你能告诉我怎么做吗?我的目标是将所有角色复制到我的阵列中。

1 个答案:

答案 0 :(得分:5)

如果逻辑错误,如果c == 0(否则条件)它将永远不会是新行。