• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

fopen에서 계속 오류가 납니다

20.05.19 22:45 작성 조회수 132

0

#include <stdio.h>

#define MAX 10000

int main() {

char line[MAX];

char contents[MAX];

char initpw[20];

char pw[20];

char c1,c2; //키값 확인용

int i1 = 0;

int pwisSame=0; //패스워드 확인용

//비밀번호 초기설정 단계

printf("초기 비밀번호를 설정합니다\n");

printf("비밀번호 : ");

while (1) {

c1 = getch(); //getchar는 엔터를 입력받아야 동작하지만 getch는 입력 받을때마다 동작

if (c1 == 13) { //13는 아스키코드에서 Enter

initpw[i1] = '\0'; //NULL

break;

}

else {

initpw[i1] = c1;

printf("*");

i1++;

}

}

printf("\n비밀번호 설정이 완료되었습니다\n\n");

while (pwisSame < 1) {

//사용자의 비밀번호 입력

int i2 = 0;

printf("비밀번호를 입력해주세요\n>>");

while (1) {

c2 = getch();

if (c2 == 13) { //c는 아스키코드에서 Enter

pw[i2] = '\0';

break;

}

else {

pw[i2] = c2;

printf("*");

i2++;

}

}

//비밀번호가 일치하는지 확인

if (strcmp(initpw, pw) == 0) { //strcmp==0이면 문자열이 일치하는것

printf("\n\n======비밀번호 확인 완료======\n\n");

pwisSame = 1;

}

else {

printf("\n\n======비밀번호 확인 실패======\n\n");

}

}

//파일 연결

FILE *fileO = fopen("‪‪C:\\Users\\qwert\\Desktop\\diary.txt", "a+b"); //파일이 없으면 생성해줌

if (fileO == NULL) printf("파일 오픈 실패\n");

else {

//파일 내용 불러오기(fgets)

while (fgets(line, MAX, fileO) != NULL) {

printf("%s", line);

}

printf("\n\n추가할 내용을 입력하세요 입력을 종료하려면 EXIT를 입력하세요\n\n");

//내용 추가(fputs)

while (1) {

scanf("%[^\n", contents);

if (strcmp(contents, "EXIT") == 0) {

printf("입력을 종료합니다");

exit(0);

}

else fputs(contents, fileO);

}

fclose(fileO);

}

}

비밀번호 확인까지는 멀쩡하게 동작하는데 이상하게 fopen이 안됩니다 "파일 오픈 실패"가 뜨면서 끝나버려요 다른 질문에 선생님이 달아주신 코드 그대로 복사해서 실행해봤는데 그 코드도 파일 열기에 실패합니다 뭐가 문제인걸까요ㅠㅠ

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!