답변
std::ofstream
파일은이 파일을 직접 지원하지 않습니다. 이것이 중요한 요구 사항이라면 내부적으로 std::filebuf
을 사용하는 필터링 스트림 버퍼를 생성하는 것뿐만 아니라 수행되는 출력이 있는지 기록하는 것입니다. 이것은이로 간단하게 살펴 볼 수 있었다 :
struct statusbuf:
std::streambuf {
statusbuf(std::streambuf* buf): buf_(buf), had_output_(false) {}
bool had_output() const { return this->had_output_; }
private:
int overflow(int c) {
if (!traits_type::eq_int_type(c, traits_type::eof())) {
this->had_output_ = true;
}
return this->buf_->overflow(c);
}
std::streambuf* buf_;
bool had_output_;
};
이 가진 std::ostream
를 초기화하고 필요에 따라 스트림 버퍼를 조회 할 수 있습니다
std::ofstream out("some file");
statusbuf buf(out.rdbuf());
std::ostream sout(&buf);
std::cout << "had_output: " << buf.had_output() << "\n";
sout << "Hello, world!\n";
std::cout << "had_ouptut: " << buf.had_output() << "\n";
ofstream.rdbuff을 사용하면 파일 버퍼를 가져오고 streambuf::sgetn을 사용하여 읽을 수 있습니다. 그게 효과가 있다고 생각합니다.
아니요, 작동하지 않습니다. 현재 쓰는 스트림 버퍼의 읽기 버퍼는 일반적으로 채워지지 않습니다. 두 버퍼는 서로 관련이 없으며 동기화되지 않습니다. –
지금 당장 시도해 보겠습니다. – WeaselFox
물론 시도해보십시오. 그러나 표준 라이브러리를 구현하거나 심지어 구현을 수행하는 대부분의 경우에도이 방법이 작동하는지 여부를 결정하는 방법은 표준을 읽는 것입니다. 나는 표준이 이것을 보증하지 않는다고 확신한다. 그리고 내가 한 구현은 확실히 두 버퍼를 동기화하지 않는다. –
- 1. NSMutableDictionary가 비어 있는지 확인 하시겠습니까?
- 2. 장고 필드가 비어 있는지 확인 하시겠습니까?
- 3. 사서함이 비어 있는지 확인 하시겠습니까? in erlang
- 4. EditText가 비어 있는지 확인
- 5. xml 파일이 비어 있는지 확인
- 6. NSConcreteMutableData 인스턴스가 비어 있는지 확인
- 7. Help! 필드가 비어 있는지 확인
- 8. 개체 속성이 비어 있는지 확인
- 9. AS3 : 사전이 비어 있는지 확인
- 10. C#에서 XmlNode가 비어 있는지 또는 null인지 확인 하시겠습니까?
- 11. 성능을 확인하기 전에 컨테이너가 비어 있는지 확인 하시겠습니까?
- 12. 배열 인덱스가 비어 있는지 확인하는 방법, 그렇다면 다음을 확인 하시겠습니까?
- 13. 자바 스크립트를 사용하여 HTML 표 셀이 비어 있는지 확인 하시겠습니까?
- 14. @ variable.method가 있는지 확인 하시겠습니까?
- 15. PHP를 사용하여 MySQL 데이터베이스가 비어 있는지 확인
- 16. jquery로 양식 입력이 비어 있는지 확인
- 17. C#에서 PDF 문서가 비어 있는지 확인
- 18. HTML5 데이터베이스 테이블 - 비어 있는지 확인
- 19. 위젯이 설치되어 있는지 확인 하시겠습니까?
- 20. LTE가 켜져 있는지 확인 하시겠습니까?
- 21. 열/키가 있는지 확인 하시겠습니까?
- 22. 비어 있는지 확인하는 방법
- 23. dataGridView가 비어 있는지 확인하십시오.
- 24. BSTR이 비어 있는지 확인하십시오.
- 25. 변수가 비어 있는지 확인하십시오
- 26. NSFetchedResultsController가 비어 있는지 확인하십시오.
- 27. flowLayoutPanel이 비어 있는지 확인하십시오. #
- 28. RichTextBox가 비어 있는지 감지
- 29. 파일이 비어 있는지 확인하십시오.
- 30. 조인 된 테이블이 비어 있는지 확인 [PHP & MYSQL]
캔트 당신이 EOF 또는 rdstate 기능을 확인? – sarat