-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
코딩질문입니다..
20.03.11 17:53 작성 조회수 96
0
실행이 안되는데 오류목록에는 아무것도 안나와요..
1시간동안 찾아봤는데 뭐가 문제인지 모르겠어요ㅠㅠ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//비밀번호를 입력 받아서
//맞는 경우? 비밀 일기를 읽어와서 보여주고, 계속 작성하도록 합니다.
//틀린 경우? 경고 메세시를 표시하고 종료합니다.
#define MAX 10000
int main_file_project(void)
{
//fgets, fputs 활용
char line[MAX]; //파일에서 불러온 내용을 저장할 변수
char contents[MAX]; //일기장에 입력할 내용
char password[20]; //비밀번호 입력
char c; //비밀번호 입력 할 때 키값 확인용[마스킹]
printf("비밀일기에 오신 것을 환영합니다.\n");
printf("비밀번호를 입력하세요 : ");
// getchar() getch()의 차이?
// getchar() : 엔터를 입력받아야 동작을 합니다.
// getch() : 키 입력시 바로 동작을 합니다.
int i = 0;
while (1)
{
c = getch();
if (c == 13) //Enter키 아스키코드 -> 비밀번호 입력 종료
{
password[i] = '\0';
break;
}
else
{
printf("*");
password[i] = c;
}
i++;
}
printf("\n\n===비밀번호 확인 중...===\n\n");
if (strcmp(password == "skehzheld") == 0) //비밀번호 일치
{
printf("===비밀번호 확인 완료===\n\n");
char* fileName = "C:\\Users\\김대호\\Desktop\\secret.txt";
FILE* file = fopen(fileName, "a+b"); //파일이 없으면 생성, 파일이 있으면 append를 한다 (뒤에서부터 내용을 추가한다)
if (file == NULL)
{
printf("파일 열기 실패\n");
return 1;
}
while (fgets(line, MAX, file) != NULL)
{
printf("%s", line);
}
printf("\n\n 내용을 계속 작성하세요! 종료하시려면 EXit를 입력하세요\n\n");
while (1)
{
scanf("%{^\n]", contents); //새 줄(\n)이 나오기 전까지 읽어드림 (한 문장씩)
getchar(); // Entet 입력 (\n) Flush 처리
if (strcmp(contents, "EXIT"0) == 0)
{
printf("비밀일기 입력을 종료합니다\n\n");
break;
}
fputs(contents, file);
fputs("\n", file); //Enter를 위에서 무시처리 하였으므로 임의로 추가
}
fclose(file);
}
else //비밀번호 틀린 경우
{
printf("※※※※※ 비밀번호가 틀렸습니다 ※※※※※");
printf("꺅!! 당신 누구야!?? 감히 내 일기장을 !!! \n\n\n");
}
return 0;
}
답변을 작성해보세요.
0
나도코딩
지식공유자2020.03.11
안녕하세요
이 코드 그대로 하신건가요? main 함수를 main() 으로 바꿔보실까요? 모바일이라 수행은 못해봤지만 함수명을 이대로 쓰셨다면 다른 파일이 실행되었을거에요!
확인 해보세요 ^^ 감사합니다.
답변 1