fstream
개체에서 파일 이름이나 경로를 가져올 수 있습니까? 나는 fstream
의 방법을 들여다 보았고 그것에 가까운 것을 찾지 못했습니다.fstream에서 파일 이름 (또는 경로) 가져 오기
35
A
답변
33
아니요, 적어도 표준 준수 라이브러리 구현에서는 가능하지 않습니다.
fstream 클래스는 파일 이름을 저장하지 않으며이를 검색하는 기능을 제공하지 않습니다. 단순히뿐만 아니라 파일 이름 주위에 통과,
std::map<std::fstream*, std::string> stream_file_table;
void f()
{
//when you open a file, do this:
std::fstream file("somefile.txt");
stream_file_table[&file] = "somefile.txt"; //store the filename
//..
g(file);
}
void g(std::fstream & file)
{
std::string filename = stream_file_table[&file]; //get the filename
//...
}
또는 :
그래서이 정보를 추적하는 한 가지 방법으로 std::map
를 사용하는 것입니다.
+0
이것은 괜찮아 보이는데, fstream 객체가 파괴되면 이름을 제거해야한다고 말할 필요가 있습니다. –
20
fstream
에서 상속 받고 fstream
처럼 동작하지만 파일 이름도 저장하는 작은 클래스를 디자인 할 수 있습니다.
+7
이것은 또한 다음과 같이 필요한 'std :: string'을 사용하여 편리한 생성자를 추가 할 수있게합니다. C++ 11이지만 C++ 03 구현에는 일반적으로 제공되지 않습니다. –
관련 문제
- 1. 파일 이름 및 경로 목록 가져 오기
- 2. 모듈 이름 오버로드 및 가져 오기 경로
- 3. C#의 경로 문자열에서 파일 이름 가져 오기
- 4. TMXTiledMap의 파일 이름 가져 오기
- 5. BufferedImage에서 파일 이름 가져 오기
- 6. BPL 가져 오기 파일 이름
- 7. ASP.NET MVC에서 경로 이름 가져 오기
- 8. ImageField에서 사용자 이름 가져 오기 upload_to 경로
- 9. VBScript에서 잘못된 경로 이름 가져 오기
- 10. ASP.NET 파일 브라우저에서 파일 경로 가져 오기
- 11. Windows의 파일 핸들에서 파일 경로 가져 오기
- 12. html/javascript에서 절대 파일 경로 가져 오기
- 13. 파일 선택기에서 파일 이름 가져 오기
- 14. 가상 URL에서 파일 이름 가져 오기?
- 15. asp : FileUpload 파일 가져 오기 경로
- 16. NSIS 호출자 파일 경로 가져 오기
- 17. 현재 활성 창의 파일 이름 가져 오기
- 18. 주소창에서 페이지 파일 이름 가져 오기
- 19. 바이트 배열 또는 스트림에서 파일 이름 가져 오기
- 20. JS에서 파일 이름 및/또는 폴더 내용 가져 오기
- 21. django 파일 필드에서 원래 경로 가져 오기
- 22. 원격 파일 경로 위치 가져 오기
- 23. 외부 라이브러리에서 파일 경로 가져 오기
- 24. C# - 연결 문자열에서 파일 경로 가져 오기
- 25. Windows에서 파일 이름없이 경로 가져 오기
- 26. 모든 데이터베이스의 실제 파일 경로 가져 오기
- 27. dll에서 루트 구성 파일 경로 가져 오기
- 28. BufferedWriter 인스턴스에서 파일 절대 경로 가져 오기
- 29. 자바 스크립트를 통해 파일 경로 가져 오기
- 30. VBScript - 컴퓨터 이름 및/또는 전체 네트워크 파일 경로 가져 오기
나는 그것이 가능하지 않다고 생각합니다. 기본 파일은 여러 개의 이름 (하드 링크가 여러 개있는 경우) 또는 이름이 전혀 없을 수도 있습니다 (예 : 익명 파이프를 나타내는 경우). –