VS2008에서 fopen함수를 쓰니 계속 unsafe 메시지를 띄우면서 warning을 띄우길래 찾아보니
VS 2005 로 넘어오면서 일반적인 문자열 함수가 아닌 _s 가 붙은 함수의 사용을 권장하게 되었으며
이를 사용하지 않을경우 warning 이 발생한다고 한다.
strcpy -> strcpy_s fopen -> fopen_s fclose->fclose_s 등등등..
처럼 쓰는데, 무턱대로 fopen 을 fopen_s 로 바꾸면 또 문제가 발생하므로 알고 써야한다.
fopen_s 의 msdn 주소
http://msdn.microsoft.com/ko-kr/library/z5hh6ee9(VS.80).aspx
msdn에 의하면
Files opened by fopen_s and _wfopen_s are not sharable. If you require that a file be sharable, use _fsopen, _wfsopen with the appropriate sharing mode constant (for example, _SH_DENYNO for read/write sharing).
fopen_s 는 파일을 공유할 수가 없다고 적혀있다.
파일을 공유하기 위해서는 _fsopen 을 사용하면된다
fopen_s에서는
똑같은 파일을 여러번 열고 닫을 경우에는 최초에 파일을 열때는 상관없지만, 2번째 파일 Open 시부터는 Permission Denied 라는 errno 를 반환하며 파일을 쓸 수가 없게 된다.
VS 2005 로 넘어오면서 일반적인 문자열 함수가 아닌 _s 가 붙은 함수의 사용을 권장하게 되었으며
이를 사용하지 않을경우 warning 이 발생한다고 한다.
strcpy -> strcpy_s fopen -> fopen_s fclose->fclose_s 등등등..
처럼 쓰는데, 무턱대로 fopen 을 fopen_s 로 바꾸면 또 문제가 발생하므로 알고 써야한다.
fopen_s 의 msdn 주소
http://msdn.microsoft.com/ko-kr/library/z5hh6ee9(VS.80).aspx
msdn에 의하면
Files opened by fopen_s and _wfopen_s are not sharable. If you require that a file be sharable, use _fsopen, _wfsopen with the appropriate sharing mode constant (for example, _SH_DENYNO for read/write sharing).
fopen_s 는 파일을 공유할 수가 없다고 적혀있다.
파일을 공유하기 위해서는 _fsopen 을 사용하면된다
fopen_s에서는
똑같은 파일을 여러번 열고 닫을 경우에는 최초에 파일을 열때는 상관없지만, 2번째 파일 Open 시부터는 Permission Denied 라는 errno 를 반환하며 파일을 쓸 수가 없게 된다.
'컴퓨터 공학 자료(학부) > Error log' 카테고리의 다른 글
error C2664: 'MessageBoxW' : 매개 변수 2을(를) 'const char [35]'에서 'LPCWSTR'(으)로 변환할 수 없습니다. (0) | 2010.08.07 |
---|---|
C에서 소수점 계산 에러 (0) | 2010.05.30 |
'LIBC.lib' 파일을 열 수 없습니다. (0) | 2010.05.25 |
[오류내용] general error c1010070: Failed to load and parse the manifest. @ |D >D F5Hd. (0) | 2010.05.21 |
매개 변수 2을(를) 'const char [29]'에서 'LPCWSTR'(으)로 변환할 수 없습니다. (0) | 2010.05.12 |