fscanf질문요~
황소자리
질문 제목 : fscanf 로 데이터 입력 받을때%d로 정수를 받을때 와 %c 로 문자를 받을때....
%d는 공백문자,개행문자를 받지 않는데
%c는 공백문자,개행문자를 받는건가요? 아님 제가 잘못안건가요....
질문 내용 :
input.txt 파일에
3 5
-2 3 5 2 -4
3 1 10 -5 3
0 3 6 3 -1
3,5는 배열의 행,열이고 아래서 부터는 행열의 각 요소인데
fscanf(in_file,%d %d,&n_rows,&n_cols); //행 과 열을 입력 받은후
포문을 통해서
fscanf(in_file,%d,row_ptr+j); // -2 3 5 2 -4
위에 값을 입력받으면
숫자와 숫자사이에 공백,각행의 개행에 관계 없이 숫자만 잘 받아오는데.............
-------------------------------------------------------------------------
문제는
input.txt 파일에
5 6
a b s e v q
d k i r u z
n r o r o w
i w w c d k
m d e i p e
이렇게 문자가 있을때
fscanf(in_file,%d %d,&n_rows,&n_cols); //행 과 열을 입력 받은후
포문을 통해서
fscanf(in_file,%c,row_ptr+j); //엔터 a 공백 b 공백 s 공백 e 공백 v 공백 q 엔터 이렇게 받음
5,6다음에 엔터부터해서,
공백문자,각 행의 끝의 엔터를 다 받습니다....
분명히 input.txt의 입력받는 파일형태는 문자인걸 빼고는 공백과 개행 면에서 볼때 똑같은 형식인데.....
%d로 정수를 받을땐 공백과 개행 무시하더니
%c로 문자를 받을때 다 인식하네요?
여기에 대해서 어떻게 이해하면 되는건지 쫌 알려주세요~