none
c++ fstream이 안되는 현상.. RRS feed

  • 질문

  • 안녕하세요? 비쥬얼 스튜디오 2010으로 c++ 코딩을 하고 있는데요,

    뜬금없이 fstream이 안먹혀서 이렇게 문의합니다...

    딱 간단한 예제로,

    =========

        char file[] = "client.dat";

        fstream urf( file, ios::in|ios::out );
        if ( !urf.is_open() ) return ;

    =========

    urf라는 fstream 객체를 선언하고, urf가 제대로 열렸는지 판단해서, 제대로 열리지 않았으면 종료하는 소스인데요.

    소스 상에는 문제가 없는데, 실행할때 urf 객체가 제대로 생성되지 못해서, if ( !urf.is_open() ) return ;에 걸려서 종료가 됩니다.

    이상한 점은 저 원본 소스가 제가 6개월전에 테스트삼아 만들어서 잘 썼던 것인데, 지금에 와서는 fstream이 생성이 안되는 것 같습니다. (코드상의 문제라기보다 컴퓨터나 비쥬얼 스튜디오의 문제가 아닌가 싶습니다.)

    fstream 객체가 제대로 생성이 안되거나 하는 다른 이유가 있을가요? 혹은 해결책이 있을까요? 도움을 부탁드립니다.

    윈도우7 프로페셔널, 비쥬얼 스튜디오 2010 프로페셔널을 사용중입니다.


    • 편집됨 희나람 2012년 4월 3일 화요일 오후 6:07
    2012년 4월 3일 화요일 오후 6:06

답변

  • 안녕하십니까? 희나람 님,
    Microsoft MSDN의Forum 사이트를 방문해 주셔서 감사합니다.

    문의 하신 ”c++ fstream이 안되는 현상..”에 대해 답변드리겠습니다.

    "소스 상에는 문제가 없는데, 실행할때 urf 객체가 제대로 생성되지 못해서, if ( !urf.is_open() ) return ;에 걸려서 종료가 됩니다."라고 말씀하셨는데, urf 객체게 제대로 생성되지 않으신건 얻으신 정보인가요? 확인 할 수 있는 로그를 답변주실 수 있으실까요?

    답변 부탁드리겠습니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오전 9:56
    • 답변으로 표시 취소됨 희나람 2012년 4월 4일 수요일 오전 9:56
    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오후 4:26
    2012년 4월 4일 수요일 오전 5:29
    중재자
  • 파일이 없고 열리지 않는 상황입니까? 즉, 파일 생성에 관련되어 제한이 설정되어 있는건 아닌지요?
    아니면 파일은 있는데 열리지 않는 상황입니까? 즉, 해당 파일을 사용하는 다른 프로세스가 혹시 있습니까?
     

    잘 되던 코드가 않된다면 공유 위반에 대한 오류 이거나 접근 또는 생성에 대한 권한 문제일 가능성이 많습니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오전 9:58
    2012년 4월 4일 수요일 오전 9:54
    중재자
  • 안녕하십니까? 희나람 님
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.

    고객님의 문의 내용이 해결 되어서 다행입니다.
    차후에도 문의 사항 있으시면 언제든지 저희 Forum 를 이용해 주시길 바랍니다.
     
    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.
    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오후 4:26
    2012년 4월 4일 수요일 오후 1:07
    중재자

모든 응답

  • 안녕하십니까? 희나람 님,
    Microsoft MSDN의Forum 사이트를 방문해 주셔서 감사합니다.

    문의 하신 ”c++ fstream이 안되는 현상..”에 대해 답변드리겠습니다.

    "소스 상에는 문제가 없는데, 실행할때 urf 객체가 제대로 생성되지 못해서, if ( !urf.is_open() ) return ;에 걸려서 종료가 됩니다."라고 말씀하셨는데, urf 객체게 제대로 생성되지 않으신건 얻으신 정보인가요? 확인 할 수 있는 로그를 답변주실 수 있으실까요?

    답변 부탁드리겠습니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오전 9:56
    • 답변으로 표시 취소됨 희나람 2012년 4월 4일 수요일 오전 9:56
    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오후 4:26
    2012년 4월 4일 수요일 오전 5:29
    중재자
  • 파일이 없고 열리지 않는 상황입니까? 즉, 파일 생성에 관련되어 제한이 설정되어 있는건 아닌지요?
    아니면 파일은 있는데 열리지 않는 상황입니까? 즉, 해당 파일을 사용하는 다른 프로세스가 혹시 있습니까?
     

    잘 되던 코드가 않된다면 공유 위반에 대한 오류 이거나 접근 또는 생성에 대한 권한 문제일 가능성이 많습니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오전 9:58
    2012년 4월 4일 수요일 오전 9:54
    중재자
  • 답변 감사합니다!

    그런데 다시금 소스를 실행시키니 됩니다..

    코드를 살짝 건드렸었는데요,

    char file[] = "client.dat";

    로 되어있든 것을

    c:\\client.dat

    로 바꾸어서 실행했다가,

    다시 처음인 client.dat 로 실했는데 갑자기 되네요...


    • 편집됨 희나람 2012년 4월 4일 수요일 오전 9:59
    2012년 4월 4일 수요일 오전 9:58
  • 답변 감사합니다!

    위 답글에도 달았지만 지금은 됩니다... 여전히 안되었던 이유는 모르겠습니다만,

    tipsware님 말씀대로 생성이나 권한 문제가 꼬여있던게 아닐까 싶은데, 여전히 의문입니다. 이제는 잘되니 다시 알아볼 방도가 없네요...

    답변 감사합니다!

    2012년 4월 4일 수요일 오전 10:00
  • 안녕하십니까? 희나람 님
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.

    고객님의 문의 내용이 해결 되어서 다행입니다.
    차후에도 문의 사항 있으시면 언제든지 저희 Forum 를 이용해 주시길 바랍니다.
     
    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.
    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 희나람 2012년 4월 4일 수요일 오후 4:26
    2012년 4월 4일 수요일 오후 1:07
    중재자