fscanf를 사용하여 이진 파일 (이미지)을 구문 분석하려고합니다.fscanf를 사용하여 이진 파일을 구문 분석하는 방법
여기가 파일의 시작 부분입니다. 나는 파일의 '너비'와 '높이'를 원한다. 이 경우, 폭 640, 높이 480
00000000: 5036 0a23 2043 7265 6174 6564 2062 7920 P6.# Created by
00000010: 4972 6661 6e56 6965 770a 3634 3020 3438 IrfanView.640 48
00000020: 300a 3235 350a a079 35a0 7833 a179 349f 0.255..y5.x3.y4.
그래서 헤더 '폭 뒤에 0xa는 (라인 피드) 다음 P'some 문자 공간 (0x20에) 다음과 높이이어서'
이다 내 코드에서, 나는
t=fscanf(fin,"P%c\r%d %d",&fc,&w, &h);
or
t=fscanf(fin,"P%c\n%d %d",&fc,&w, &h);
을하지만, t는 항상 1 (대신 3의) 반환하고 내 w 및 h는 읽을 수 없습니다.
내 문제를 어떻게 해결할 수 있습니까?
'\ r'은 0x0a에 대해 틀릴 가능성이 높습니다. 대신 리터럴 상수를 사용하십시오. –
'fscanf()'를 사용하여 텍스트 파일을 분석하는 것은 충분하지 않습니다. 광란은 당신이가는 길에 놓여 있다고 생각합니다. –
감사합니다. 내 파일에서 0xa에 대해 fscanf()에 넣을 내용은 무엇입니까? – michael