fopen_s() 에러 좀 봐주세요
글쓴이: jujuclub08 / 작성시간: 목, 2014/10/16 - 8:01오후
MFC 에서
CString 타입의 파일이름을 오픈하는 데에서 에러가 납니다.
FILE *fp; fopen_s(&fp, filename, "rb") fclose( fp );
여기서 파일 이름은 다이얼로그의 Editbox를 통해 입력받은 CString 타입의 변수입니다.
에러는
error C2664: 'fopen_s' : cannot convert parameter 2 from 'CString' to 'const char *'
No user-defined-conversion operator available thar can perform this conversion, or the operator cannot be called.
도와주세요^^
Forums:
흠...
컴파일러에서 뱉는 에러나 워닝의 의미를 확인하시고,
MSDN에서 관련 내용 찾아보시면 됩니다.
아래 참조하세요 ^^
http://msdn.microsoft.com/en-us/library/aa300569(v=vs.60).aspx
cannot convert parameter
cannot convert parameter 2
두번째 인자를 바꿀 수 없습니다.
from 'CString' to 'const char *'
CString에서 const char*로
여기서 알 수 있는 사실은?
fopen_s의 두번째 인자는 const char * 형이 와야 한다는 점이고,
CString은 const char* 형으로 묵시적으로 변환될 수 없다는 점입니다.
결론적으로
CString에서 const char *형을 뽑아낼 수 있는 방법을 찾아보면 되겠습니다.
이 다음부터는 스스로 찾아보는 것도 좋은 공부가 되겠네요.
댓글 달기