한 번에 여러 개의 file들을 open해서 사용하기 위한 방법

arizona0의 이미지

여러 개의 file들을 동시에 open해서 read하려고 합니다.

open하려는 file들의 수는 경우에 따라 다릅니다.

그래서 ifstream을 배열로 선언해보았는데 잘 되지 않습니다.

아래와 같은 경우는 되지만,
#include
....
ifstream in_files[4]

아래와 같은 경우는 안되네요.

#include
....
int num = number_of_files; // file들의 수가 동적으로 정해짐
ifstream in_files[num]

in_files[num]에서 num이 상수가 아니어서 안된다고 합니다.

이유가 뭘까요?

위 경우가 잘못됐다면 파일들의 수가 동적으로 변하는 상황에서 파일 포인터들을 어떻게 선언해서 사용해야 할까요?

arizona0의 이미지

여러 개의 file들을 동적으로 할당하면 되네요.

int num = number_of_files;
ifstream *in_file = new ifstream[num];