C언어 오류 질문드립니다.

seojh1431의 이미지

 #include <stdio.h>
 #define _CRT_SECURE_NO_WARNINGS
 #define BUFFER_SIZE_MAX 8192
 
int main(int argc, char *argv[])
{
	FILE *pFile;
	int i=0;
 
	if(argc < 2)
	{
		printf("There are no argument.\n");
		return 1;
	}
 
	for(i = 1; i < argc; i++)
	{
 
		pFile = fopen(argv[i], "rb+"); // 여기서 오류가 뜹니다.
 
 
		if(pFile == NULL)
		{
			printf("{%s} file is not exist, or open error!\n", argv[i]);
			continue;
		}
 
	}
} 
김정균의 이미지

compile 환경이랑 어떤 오류가 나는지를 적어 주시는 것이 좋을 것 같군요.

제 환경에서는 잘 동작 합니다.

ubuntu 14.10, gcc 4.9.1

seojh1431의 이미지

오류는

1>------ 빌드 시작: 프로젝트: 연습, 구성: Debug Win32 ------
1> dasjd.c
1>c:\users\1-생활실206\documents\visual studio 2010\projects\연습\dasjd.c(30): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(234) : 'fopen' 선언을 참조하십시오.
1>LINK : fatal error LNK1123: COFF로 변환하는 동안 오류가 발생했습니다. 파일이 잘못되었거나 손상되었습니다.
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========

이거네요... vc++6.0 에서도 잘 돌아가는걸로 알고있습니다.. 여기서만 안되는건지... 뭐가 문젠지 모르겠씁니다 ㅜㅜ

HDNua의 이미지

fopen 함수가 안전하지 않을 수 있으니 fopen_s를 대신 사용하라는 경고입니다. 경고를 무시하려면 _CRT_SECURE_NO_WARNINGS 옵션을 사용하라는데
코드를 보니 그냥 매크로로 _CRT_SECURE_NO_WARNINGS를 정의하셨군요. 아래 링크 참조하세요. VS2013으로 테스트했는데 잘 됩니다.
http://blog.naver.com/ambidext/220161992052
http://blog.naver.com/nawoo/220185206383

저는 이렇게 생각했습니다.

seojh1431의 이미지

ㄴㅇ