WinAPI 75 Animation (7)

CJB_ny·2022년 10월 16일
0

WinAPI

목록 보기
78/79
post-thumbnail

오늘 배운거 👍👍👍

  • fscanf, fscanf_s 차이점

    공백 또는 개행 문자를 만나기 전까지 읽는다.

    정확한거는 아닌데 return 값과 인자로 들어가는 수가 다르다.

    공백문자 직전까지 읽기 때문에 getc 사용

  • getc

    1바이트 문자 하나씩

  • fscanf_s 동작방식

    char buffer[256] = {};
    여기다가 읽은 데이터를 공백문자와 넣어주면
    처음에 "asd" 이렇게 읽고나서 다음 읽을 부분이 "SS"라면은

    buffer에는 "SSd\0"이렇게 남게된다.

  • strcmp

    같으면 0


우리가 Animation(6)의 초반에서 다른 사용자가 봤을 때도 유의미한 데이터를 저장 시키지는 않고

바이트 단위로 바로 데이터들을 저장을 시켰었다.

그래서 저장하는 방식을 문자열 형태로 보여질 수 있도록

'정수 데이터'들도 보여질 수 있게 아스키 코드로 다 저장을 했다.

읽는 경우

1바이트 단위로 저장을 했고 읽을 것이기 때문에

'%s'로 읽어온다.

버퍼를 알려주고 사이즈도 알려주면은 공백문자 직전까지 읽어 들이는데 우리는 개행문자 직전까지 읽기를 원한다.

그래서 우리는 get character 사용을 해볼 것이다.

아니면 공백없이 만들거나...

어떤 방식을 써도 상관 없음.

이런식으로 해도 상관없다.

잘 채워진것도 확인이 가능하다.

프로그램 상에서 문자열 마감을 위해서 이렇게 넣어준다.

그 다음에 char -> wstring으로 형변환이 안되기때문에

먼제 string으로 변환해준다음에 string -> wstring으로 바꾸는 식으로 가자.

대충 이따위로 해주는데

주의해야하는 부분이 저장한 순서대로 읽어야한다 !!

fscanf_s ❗

이런식으로 두개씩 못 읽는다.

문자열 포맷 하나씩 밖에 못 읽는다.

개행문자

숫자 7 다음에 눈에 보이지는 않지만 개행문자가 있어서

그다음 읽을 때 바로 실패한 것이다.

파일 읽어오기

_vecAnim 에 들어갈 구조체를 만들어 while 돌면서

frm 구조체 데이터를 채워넣고 while끝났을 때

_vecAnim에다가 밀어 넣어준다.

장점

프로그램 코드 변경없이 프로그램으로 변경이 가능하다.

profile
공부 일기장으로 변해버린 블로그 (https://cjbworld.tistory.com/ <- 이사중)

0개의 댓글