포트폴리오 만들기

11. ScriptReader/FileManager/

Roka_is_back 2023. 12. 27.

FileManager

ReadFile 기능을 구현하였다.

만든 함수들

함수 설명

ReadFile

 

파일 내용을 읽는 함수이다.

 

1. CatPath (): _ePath 로 들어온 type에 따른  Path 정보와 _tcPath 정보를 이어붙인다.(읽고자하는 파일 주소.)

2. 파일의 내용을 한글자씩 읽으며 '\n' 만나면 거기까지가 1 SET의 문자열로 취급한다.

    즉, 1줄당 1개의 문자열로 저장한다.

3. 읽은 문자열(m_lineData)과 줄 갯수 (m_col) 들을 모은 FILEDATA* 를 리턴한다.

 

동적 할당된 line 정보들은 언제 delete 해줄까?

FreeFileDetail() 호출 시 해제된다.

 

ReadHeaderFileNameList

ReadFile() 과 동작은 유사하지만 .h 파일의 이름만 추출하는 함수이다.

 

WriteFile

 

stream에 저장한 파일 내용을 원하는 경로에 출력한다.

 

FreeFileDetail

 

전달된 FILEDATA* 의 동적할당 정보들을 해제한다.

1. ** 에 대한 해제.

2.FILEDATA* 에 대한 해제.

 

GetPath

프로젝트 자체에 미리 설정된 path (FileManager 생성자에서 지정됨.) 중 type에 맞는 Path 를 리턴한다.

 

SetPath

out 인자에 path 정보를 저장한다. (초반에 만들었던 거라 이제는 필요없을듯 내일 지우자.)

 

CatPath

type에 맞는 path 와 전달된 _path 를 이어붙여서 리턴한다.

ScriptReader

1.ExcludeList.txt 를 읽어온다.

2.Project\\Script 경로의 모든 파일 이름을 읽어온다.

3.ScriptList.txt 를 읽어온다.

4. ExcludeList를 제외한 파일 이름들과 ScriptList.txt에 기록된 이름을 비교한다.

4-1. 변한게 없다면 그대로 return 0;

4-2. 변한게 있다면 5번으로.

5. ScriptList.txt  FileName들을 file에 기록한다.

6. ScriptManager.h 를 작성하여 file에 기록한다.

7.ScriptManager.cpp 를 작성하여 file에 기록한다. 

 

아래 사용 이미지에서는 6번까지만 구현됐다. 

아직 7번은 안함.

사용 Code

결과

ScriptReader 프로젝트 실행 시 아래의 파일들이 생성 or 수정 된다.

ScriptList.txt
ScriptManager.h

 

그 외의 내용

실수한 부분이나 궁금해서 실험해본 내용을 정리했다.

 

https://rokaisback.tistory.com/45

 

strcpy(vector.data) / unicode length / 지역 변수 참조 리턴

FileManager 만들다가 실수하거나 궁금해서 실험해본 내용들 구현 의도는 문자열의 길이를 동적으로 설정할 수 있도록 getline으로 받아오지 않고 get을 이용하여 문자를 하나 하나 따로 받아서 vector

rokaisback.tistory.com

 

댓글