사용자가 설정 한 부울 값에 따라 콘솔이나 파일에 쓰는 코드를 작성했습니다.단지 데이터 유실 가능성을 알고 싶습니까?
코드는 다음과 같습니다. 여기
#include <iostream>
#include <fstream>
int main()
{
bool bDump;
std::cout<<"bDump bool"<<std::endl;
std::cin>>bDump;
std::ostream* osPtr;
std::ofstream files;
if(bDump)
{
files.open("dump.txt");
osPtr = &files;
}
else
{
osPtr = &std::cout;
}
std::ostream& stream = *osPtr;
stream<<"hello";
if(bDump)
{
files.close();
}
return 0;
}
나는 표준 : : ostream에 포인터를 생성하고 내가 ofstream 객체 또는 표준 : : cout을 하나의 주소를 assinging하고 부울 값에 따라입니다. 오픈 또는 클로즈와 같은 파일 작업이 제대로 수행되는지 여부에 관한 나의 유일한 관심사입니다. 내가 C++을 처음 접했을 때 나를 도와주세요. 또한 잘못된 프로그래밍 습관이 여기에 따라 왔는지를 지적하십시오.
시도해 보셨습니까? 네가 원하는 것처럼 일 했니? –
예, 효과가있었습니다. –