fgets()从空行

时间:2016-10-31 01:28:20

标签: c

我正在用C创建一个生命游戏程序,问题是当我从我的一个函数中读取文本文档时,如果有一个空白行,那么前一行的输入将在不应该重复时重复。

例如,给出

的输入
    x
     x
      x

   x

输出正在给我,作为起始代,

   x
    x
     x

   x x

以下是代码:

FILE    *f;
int i, j, k;
char    s[100];
f = fopen (input, "r");
for (j=0; j<height; j++) {
    if(fgets (s, 100, f) != NULL && (s[0] != '\r' && s[0] != '\n')) 
    {
    for (i=0; i<width; i++) {
        board[i][j] = s[i] == 'x';
    }
    }
}
fclose (f); 

在使用if语句之前,输出将是

x
 x
  x
  x
x x  
x x
x x
x x
x x

1 个答案:

答案 0 :(得分:0)

为什么要将空白行作为特例?

将它们视为常规输入:

len = strlen(s)
for (i=0; i<len; i++) { //etc... etc... etc...