저는 컴파일러가 좀 틀려서
첫번째 에러는
if(fp = fopen("LibraryList.txt", "w") == NULL) 여기서 에러가 납니다.
if( (fp = fopen("LibraryList.txt", "w")) == NULL ) 으로 ()를 사용하여 고쳐주시면 명확합니다.
두번째 에러가 exit(0)에서 걸립니다. exit()를 사용하시려면 stdlib.h를 include 해야 합니다.
그리고 파일은 단지 만들어지기만 하고 적히는 것은 하나도 없습니다. 아시죠?
fprintf가 하나도 없는거... 단지 화면 입출력만 하고 있는거죠..
일단 위의 2가지 에러만 잡으니까 동작은 합니다만, 연속입력에서 조금 문제가 있습니다.
정구일 님이 쓰신 글 :
: 안녕하세요.
: 너무 급한 마음에 C++ 질문을 올리게 되었습니다.
: 양해 부탁드립니다.
: 다름이 아니라 구조체를 만들다가 질문이 생겼습니다.
: 정확하게 말하면 문제가 생겼습니다.
: 책을 보면서 열심히 했는데...
: Warining(1)이 나옵니다.
: 내용은 아래와 같구요.
: (29):warning C4047: '=' : 'struct _iobuf *' differs in levels of indirection from 'int '
: 그리고 실행은 잘 됩니다.
: 그런데 문제는 실행후 한번씩 입력후 그냥 종료가 되어버립니다.
: 전 10번을 실행 하는 for문 작성했는데 파일로 저장도 되지 않고,
: 그냥 에러라고 나오면서 종료가 됩니다.
: 무엇이 잘 못 되었는지...
: 조언 부탁드립니다.
:
: #include <stdio.h>
: FILE *fp;
: struct library
: {
: char subject[255];
: char author[255];
: char company[255];
: char keyworld[255];
: char ISBN_number[255];
: };
: void main(void)
: {
: struct library Search[255];
: int i;
: if(fp = fopen("LibraryList.txt", "w") == NULL){
: exit(0);
: }
: for (i=0; i<10; i++)
: {
: printf("제목을 입력하세요 : ");
: scanf("%s", &Search[i].subject);
: printf("저자를 입력하세요 : ");
: scanf("%s", &Search[i].author);
: printf("출판사를 입력하세요 : ");
: scanf("%s", &Search[i].company);
: printf("키워드를 입력하세요 : ");
: scanf("%s", &Search[i].keyworld);
: printf("ISBN을 입력하세요 : ");
: scanf("%d", &Search[i].ISBN_number);
: fclose(fp);
: }
: }
|