fin.getline()을 여러 번 호출하여 파일에서 읽을 함수 func1 (ifstream & fin)이 있습니다. 이제이 func1 내부에서 func1이 액세스하는 동일한 파일에 액세스해야하는 다른 함수 func2 (ifstream &)를 호출합니다. 간단히 func2를 func2 (fin)라고 부를 수 있습니다.C++ ifstream 객체 "reseting"
이제 func1이 파일을 4 행까지 읽은 다음 func2가 호출되어 7 행까지 파일을 읽는다고 가정 해 봅시다. 이제 문제가 있습니다. funct2가 func1로 돌아 오자 마자 func1이 끝난 곳, 즉 5 번 줄에서 파일을 계속 읽지 만, fin이 파일의 8 번 줄을 "가리키고"있기 때문에 불가능합니다.
func2 (const ifstream &) 및 func2 (const ifstream *)로 func2를 정의하거나 func1 내부에서 fin 복사본을 작성하여 func2에 전달하려고했으나 컴파일러에서 이러한 옵션을 허용하지 않습니다.
어떻게해야합니까? 감사.
당신의 자리를 저장하고 후에 찾을 수 있습니다. – chris
스트림 멤버 함수'tellg'와'seekg'를 찾는다. 파일 열기 모드는 탐색을 허용해야합니다 (즉, 순차적 읽기로 플래그 지정되지 않음) – paddy