C ++ 파일 처리 : ios :: app과 ios :: ate의 차이점은 무엇입니까?
파일에 쓸 때 ios::ate
와 의 차이점은 무엇입니까? 제 생각에는 파일 내 에서 이동할 수있는 기능을 제공하는 반면 파일 끝에서만 읽기 / 쓰기가 가능합니다. 이 올바른지?ios:app
ios::app
ios::ate
그 반대입니다. 때 ios::ate
설정, 초기 위치는 파일의 끝이 될 것입니다,하지만 당신은 그 이후 추구 무료입니다. 때 ios::app
설정되고, 전체 출력 동작은 파일의 끝에서 수행된다. 모든 쓰기는 탐색이 암시 적으로 선행되기 때문에 다른 곳에 쓸 방법이 없습니다.
다음과 같이 지정됩니다 (C ++ 11의 27.5.3.1.4).
app
매번 쓰기 전에 끝내려고
ate
개봉 후 즉시 종료하십시오.
로 ios::app
파일의 쓰기 위치하는 "끈끈한"입니다 - 모든 쓰기는 결국, 당신이 찾는 상관없이에 있습니다.
여기에 꽤 잘 문서화되어 있습니다 .
ios::ate
"개봉시 스트림의 위치 표시기를 스트림의 끝으로 설정합니다."
ios::app
"각 출력 작업 전에 스트림의 위치 표시기를 스트림의 끝으로 설정합니다."
이것은 ios::ate
파일을 열 때 위치가 파일의 끝에 놓이는 차이를 의미합니다 . ios::app
대신 스트림을 플러시 할 때마다 파일 끝에 배치합니다. 예를 들어 동일한 로그 파일에 기록하는 두 프로그램이 ios::ate
프로그램을 연 이후 다른 프로그램이 파일에 추가 한 모든 내용을 덮어 쓰게됩니다 . ios:app
대신 프로그램이 로그 항목을 추가 할 때마다 파일 끝으로 이동합니다.
앱:
포인터를 움직일 수 없습니다.
먹었다:
레코드 포인터를 다른 위치로 이동할 수 있습니다.
이 ios::ate
옵션은 입력 및 출력 작업용이며 ios::app
파일 끝에 데이터를 추가 할 수 있습니다.
참조 URL : https://stackoverflow.com/questions/10359702/c-filehandling-difference-between-iosapp-and-iosate
'Program Tip' 카테고리의 다른 글
Android 장치에서 localhost를 탐색하는 방법은 무엇입니까? (0) | 2021.01.10 |
---|---|
다른 스키마로 데이터베이스를 복원하고 싶습니다. (0) | 2021.01.10 |
구성 파일 추가 및 읽기 (0) | 2021.01.10 |
창의 URL 해시를 다른 응답으로 바꾸려면 어떻게해야합니까? (0) | 2021.01.10 |
Html / PHP-양식-배열로 입력 (0) | 2021.01.10 |