gpt4 book ai didi

c - fgets() 在从空行读取时重复前一个字符串

转载 作者:行者123 更新时间:2023-11-30 16:55:18 27 4
gpt4 key购买 nike

我正在用 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

最佳答案

为什么要使空行成为一种特殊情况?

将它们视为常规输入:

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

关于c - fgets() 在从空行读取时重复前一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40335449/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com