[완료] fscanf 함수...

ystory의 이미지

안녕하세요.
임의로 정해놓은 char a[5]; 에다가 abc.txt 라는 곳의 1234567890 라는 문자열을 읽어 오고자 할때
fscanf() 함수를 사용해 보면 문자열이 전부 읽히는 현상이 나타납니다.
이거 오버 플로우 아닌가요? fscanf로 공백기준으로 읽는건 편리한데 이런 현상 때문에 혹시 잘못된건 아닌가 하고 궁금해서 질문올립니다.

익명 사용자의 이미지

오버런 맞고요.
scanf("%4s", a)로 필드폭을 정해도 되고
fgets로 한 라인을 읽은 다음에 문자열을 원하는 길이만큼 잘라서 각각 sscanf 해도 됩니다.