Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 공식문서활용
- import에러
- 리스트
- try-except
- shell명령어
- 문자열겹쳐쓰기
- tsconfig.json
- 무료파이썬
- 모듈이 아닙니다
- 초기화함수
- localhost연결안됨
- s not assignable to type
- Could not find a declaration file for module
- nextjs
- 단락평가
- 프로그래머스
- localhost접속안됨
- 깃헙 올리기
- 파이썬
- 버전 충돌
- static Generation
- 시멘틱 요소
- npm error!
- GIT
- 타입에러
- as연산자
- 모듈을 찾을 수 없습니다
- rewrites
- 쓰기용으로 열 수 없습니다
- python
Archives
- Today
- Total
전진하는 개발러
[C] fopen작동 안하는 경우 해결 본문
문제상황
if ((fp = fopen(BOARDFILEPATH, "r")) == NULL)
{
printf("[ERROR] failed to open %s. This file should be in the same directory of SMMarble.exe.\n", BOARDFILEPATH);
getchar();
return -1;
}

main함수 안에 fopen 구문을 사용하는 상황에서
컴파일 오류는 없지만 제대로 파일오픈이 되지 않았다.
문제 원인과 해결
문제원인 : fopen_s대신 fopen를 사용했기 때문
결론부터 말하자면 fopen을 fopen_s로 바꾸고 그에 맞는 문법도 수정해준 후 다시 실행하니 해결이 되었다.
해결 : fopen_s사용 및 코드문법 변경
fopen_s는 fopen에 FILE** Stream형식의 인수를 추가해주어야 실행이 되기 때문에
그에 해당하는 포인터 변수인 fp의 주소를 나타내는 &fp를 넣어주었다.
