당신이 C++로 다음과 같은 한 상상 쓰는 동안 :올리기 C에서 신뢰할 수없는 디스크 ++
ofstream myfile;
myfile.open (argv[1]);
if (myfile.is_open()){
for(int n=0;n<=10;n++){
myfile << "index="<<n<<endl;
sleep(1);
}
}else{
cerr << "Unable to open file";
}
myfile.close();
를 그리고 쓰는 동안, 디스크 나 매체가 당신이 사용할 수 없게되지만를 위해 다시 온다 작성 close()를 사용하면 중간에 데이터가 누락 될 수 있습니다. 또는 USB 플래시 드라이브에 쓰고 장치가 쓰여지고 쓰는 동안 다시 삽입되었다고 상상해보십시오. 어떻게 감지 할 수 있습니까? try {} catch, flags(), rdstate()에 쓰기를 넣었는지 확인해 보았습니다. 이름을 지정했지만 아무 것도 작동하지 않는 것 같습니다.
USB 플래시 드라이브에 쓰고 장치를 쓰는 동안 어떨까요? – madreblu
그런 다음 I/O 오류/예외가 발생하거나 그렇지 않을 수 있습니다. –