fstream 에서 ifstream 사용중 포인터 옮기고 싶은데요.
글쓴이: kknd345 / 작성시간: 토, 2005/11/26 - 11:11오후
//====================================// // 출력 되는 카운트 세기 위한 것 // //====================================// while( IN.getline( tmp_str, 200 ) ) { // 명령어 구분 if ( (p_str = strtok( tmp_str," \n")) != NULL ) strcpy( menu, p_str ); check_cnt( menu , &cnt_result); } //======================================// OUT << cnt_result << "\n"; [color=red] IN.seekg( 0, std::ios::beg); // 파일의 처음으로 이동[/color] //====================================// // 실제로 결과 파일 작성 하는 로직 // //====================================// while( IN.getline( tmp_str, 200 ) ) { // 명령어 구분 if ( (p_str = strtok( tmp_str," \n")) != NULL ) strcpy( menu, p_str ); command_menu( menu, &H_tree ); } //======================================//
IN.seekg( 0, std::ios::beg ); // 컴파일 에러
IN.seekg( 0, ios_base::beg ); // 컴파일 에러..
IN.seekg( 0, ios::beg );
에러는 안나는데..
파일 처음으로 안 갑니다.
어떻게 해야 하나요?
도와주세요ㅜㅜ..
Forums:
컴파일 에러는 namespace 문제가 아닌가 합니다만 전체 소스가 없으
컴파일 에러는 namespace 문제가 아닌가 합니다만 전체 소스가 없으니 확실히
알 수 없고요.
seekg()가 작동하지 않는 이유는 처음 while 루프에서 빠져나오기 직전에 EOF에서
읽기를 시도했고 그것이 실패했기 때문에 스트림의 상태가 fail이 되었기 때문입니다.
clear()로 스트림의 상태를 리셋하면 됩니다.
clear () 사용하니깐 잘 되네요 ^^고맙습니다~
clear () 사용하니깐 잘 되네요 ^^
고맙습니다~
1%의 가능성이면 충분하다!
최선을 다하자!
댓글 달기