gpt4 book ai didi

使用 getc 从文件读取时检查字符

转载 作者:行者123 更新时间:2023-12-03 02:22:45 25 4
gpt4 key购买 nike

在下面的代码中,我尝试存储文件中的所有字符(包括换行符)。如果读取换行符,变量“i”应该递增,“j”重置为 0,但这种情况不会发生。通过从我的数组打印到控制台,我已经确认换行符实际上正在被读取和存储。

void scan_solved_nonogram(board *b) {
FILE *file = fopen("test.txt", "r");

int i = 0, j = 0;
while( ( b->symbol[i][j] = getc(file) ) != EOF ) {
j++;

if( b->symbol[i][j] == '\n' ) {
i++;
j = 0;
}
}

fclose(file);

b->size_i = i;
b->size_j = j;

}

最佳答案

问题在于您在检查换行符之前增加了 j 。

while( ( b->symbol[i][j] = getc(file) ) != EOF ) {
j++;// you increment j, so you need to check for newline at j-1

if( b->symbol[i][j-1] == '\n' ) {
i++;
j = 0;
}
}

关于使用 getc 从文件读取时检查字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17657086/

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