c++ ifstream 예제

다음 예제에서는 파일에서 int 데이터를 읽고 벡터를 채웁니다. 공간이 데이터를 보유하기에 충분하지 않은 경우 벡터의 크기를 10으로 조정합니다. 이러한 값 중 둘 이상을 함께 ORing하여 결합할 수 있습니다. 예를 들어 쓰기 모드에서 파일을 열고 이미 존재하는 경우 잘리려는 경우 다음 구문이 됩니다 – 파일 위치 포인터는 파일의 시작 로카티에서 파일의 여러 바이트로 파일의 위치를 지정하는 정수 값입니다. 에. “get”파일 위치 포인터를 배치하는 몇 가지 예는 – 여기에 필드 너비 5와 왼쪽 정렬 왼쪽 3 정수의 출력을 표시하는 예입니다. std::basic_ifstream의 일반적인 구현은 파생되지 않은 데이터 멤버를 하나만 보유합니다: std::basic_filebuf의 인스턴스. 위의 예제에서는 getline() 함수와 같은 cin 개체의 추가 함수를 사용하여 외부에서 줄을 읽고 ignore() 함수를 사용하여 이전 read 문에 남은 추가 문자를 무시합니다. 파일을 열려면 먼저 파일 스트림 개체를 만들어야 합니다. 이 개체는 쓰기용 의 스트림 개체이거나 읽기 위한 ifstream 개체입니다. 이 태그는 C ++로 태그되어 있기 때문에 ifstream이라고 말할 것입니다. 그것은 C로 태그 된 경우, 나는 fopen 😛 인터넷 검색 파일 입력으로 갈 것 나는 파일에서 텍스트를 입력하는 두 가지 방법을 발견 – fopen 및 ifstream.

다음은 두 개의 스니펫입니다. 한 줄에 읽어야 할 정수로 구성된 텍스트 파일이 있습니다. fopen 또는 ifstream을 사용해야 합니까? 그것은 fopen보다 조금 더 모듈식이기 때문에 나는 ifstream을 선호합니다. 스트림에서 읽는 코드가 문자열 스트림이나 다른 istream에서도 읽도록 한다고 가정합니다. 클래스 템플릿 basic_ifstream 파일 기반 스트림에 높은 수준의 입력 작업을 구현 합니다. 파일 기반 스트림 버퍼(std::basic_filebuf)와 상위 수준 인터페이스(std::basic_istream)를 인터페이스합니다. 사용자 스트림은 개체의 이름이며 file1.txt는 파일의 이름입니다. 개체가 생성되면 파일이 자동으로 열립니다. 파일을 명시적으로 열 필요가 없습니다.

파일을 여는 동안 파일이 발견되지 않을 수 있는 동안 오류가 발생할 수 있습니다. 파일의 상태는 ifstream 개체와 함께 `!` 연산자 또는 파일이 열려 있는 경우 true를 반환하는 is_open()를 사용하여 확인할 수 있습니다.