다음 코드에서 파일의 모든 문자 (줄 바꿈 포함)를 저장하려고합니다. 개행을 읽으면 변수 'i'가 증가하고 'j'가 0으로 재설정되지만 이는 발생하지 않습니다. 뉴 라인이 실제로 배열에서 콘솔로 인쇄되어 실제로 읽히고 저장된다는 것을 확인했습니다.getc를 사용하여 파일을 읽을 때 문자를 검사 할 때
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;
}
대신 'while ((b-> symbol [i] [j] = getc (file))! = EOF)'제안, ** 샘플 int int ** 변수를 사용하십시오. while ('c = getc (file))! = EOF)'while'{}''\ n'에 대해'ch'를 확인하십시오. –
그 기호는 char의 2 차원 배열이라고 가정합니다. 0xA 문자 (개행 문자)가 있음을 확인 했습니까? – Tarik