나는 C-Programming의 멍청한 놈이다. 그래서 나를 괴롭혔다. 아래에서 볼 수 있듯이 C.C에서 파일을 읽는 중 줄의 끝을 무시하는 방법?
에 문자 파일에 문자를 읽는 동안 나는이 문제에 직면하고있어
, 분명히, 내 파일 400 개 문자가하지만 난 문자로 그들에게 문자를 읽으려고 할 때이 소요될 419 색인. 나는 그들이 줄의 끝 문자를 포함하고 있다고 생각한다. 나는 그들을 무시하는 방법을 모른다. 볼 수 있듯이 continue
을 사용해 보았지만 무시할 수 없습니다. 여기
00000000000000000000
00000000000000000000
00000000000000000000
00555555555555555500
00000000000000000300
00000000000000000300
00000000000000000300
00000000000000000300
00000000000000000300
00000000000000000300
00444444444444444300
00400000000000000000
00400000000000000000
00400000000000000000
00400000000000000000
00400000000000000000
00777777777777777700
00000000000000000000
00000000000000000000
00000000000000000000
내 코드 내 파일 데이터입니다 :
FILE *pToFile = fopen("toConvert.txt", "r");
char single;
i = end_color;
while ((single = fgetc(pToFile)) != EOF) {
if (single != '\0') {
continue;
} else {
if (single !='0') {
bitmap[i] = 0x66;
} else {
bitmap[i] = 0xff;
}
i++;
}
}
참고 : 나는시 문자 비트 맵에서 "회색 (0x66)"색상을 추가하기 위해 노력하고있어 문자가 0이 아닌 경우 "white 0xff"입니다. 즉, 0과 다른 문자를 구별해야합니다. 줄 끝 문자로 인해 어렵고 혼란 스럽습니다.
기타 :'int fgetc (FILE * stream);'은'char' 유형을 반환하지 않습니다. 따라서'char single;'을'int single;'로 변경하면'EOF' 상태와 데이터를 구별 할 수 있습니다. 초보자 오류가 자주 발생하면 항상 맨 페이지를 읽으십시오. –
읽기 직후에'if (single == '\ n') continue;' –
또 다른 스타일은 이전 테스트에서 다른 곳으로 이동할 때'else {'가 필요하지 않습니다. –