프로그래밍

 3198, 1/160 회원가입  로그인  
   goeun30
   링크에러;;

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6361 [복사]


Linking...
LINK : fatal error LNK1104: cannot open file "Debug/전화번호저장기ver2.exe"
Error executing link.exe.
링크에러가 뭐때문에 나는거죠??
컴파일은 해결됬는데 뭐가문제인건지..
혹시모르니 소스도 올립니다
#include <stdio.h>
#include <string.h>

//연락처 구조체 정의
struct address
{
        char name[36];
        char age[5];
        char phone[15];
};

void print_menu();
void view_juso();
void add_juso();
void delete_juso();
//연락처 파일명을 전역변수로고정
const char *fname = "c:\\juso.txt";

int main()
{
        char select=0;
        puts("\n### 번호저장 ###\n");

        while(select !=4)
        {
                print_menu();
                gets(&select);

                switch(select)
                {
                        case '1' : view_juso();
                                break;
                        case '2' : add_juso();
                                break;
                        case '3' : delete_juso();
                                break;
                        case '4' : return 0;
                                break;
                        default : printf("\n 잘못입력했어 다시선택해ㅋ.\n");
                }
        }
        return 0;
}

//처음사용자용 튜토리얼 메뉴 출력
void print_menu()
{
        printf("1 연락처 출력\n");
        printf("2 연락처 등록\n");
        printf("3 연락처 삭제\n");
        printf("4 끝내기\n");
}

//입력된 내용 출력
void view_juso()
{
        char str[200]="";
        FILE *rfp, *wfp;
        int i;

        rfp = fopen(fname,"r");

    //연락처 파밍이 없을경우 빈파일생성
        if (rfp == NULL)
        {
                wfp = fopen(fname,"w");
                fclose(wfp);
                rfp = fopen(fname,"r");
        }
        //연락처 모두 출력
        for(i = 1; ; i++)
        {
                fgets(str, 199 ,rfp);

                if (feof(rfp))
                break;

                printf("%2d: %s",i , str);
        }

        //i가 1이면 실제파일내용 없음
        if(i == 1)
                puts("\n **연락처에 전화번호가 없어**\n");

        fclose(rfp);
}

//연락처추가
void add_juso()
{
        struct address adr = {"","",""};
        char wstr[50]="";
        FILE *wfp;

        wfp = fopen(fname,"a");

        printf("이름입력 ==>");
        gets(adr.name);
        printf("나이입력 ==>");
        gets(adr.age);
        printf("전화번호입력 ==>");
        gets(adr.phone);

        strcat(wstr, adr.name);
        strcat(wstr,"\t");
        strcat(wstr, adr.age);
        strcat(wstr,"\t");
        strcat(wstr, adr.phone);
        strcat(wstr,"\n");

        fputs(wstr, wfp);

        fclose(wfp);
}
//연락처 제거
void delete_juso()
{
        char read_str[50][50]={"",};

        char str[50]="";
        FILE *rfp, *wfp;
        int del_line, i, count=0;

        rfp=fopen(fname,"r");

        if (rfp ==NULL)
        {
                puts("\n!!연락처가없네!!\n");
                return;
        }
        printf("\n삭제할번호는?\n");
        scanf("%d", &del_line);

        for(i=0;i<50;i++)
        {
                strcpy(str,"");
                fgets(str,50,rfp);

                if(i+1 !=del_line)
                {
                        strcpy(read_str[i], str);
                        count ++;
                }
                else
                {
                        printf("%d 행이 삭제됬어", del_line);
                }

                if(feof(rfp))
                        break;

        }
        fclose(rfp);
        
        wfp=fopen(fname,"w");

        for(i=0;i<count;i++)
        {
                fputs(read_str[i], wfp);
        }
        fclose(wfp);
}

  Hit : 4633     Date : 2013/06/27 12:17



    
hjt7942 실행중인 프로그램 끄시고 다시 빌드하시면 되구요...
무작정 질문하시기보단 본인스스로 계속 해결해보시고 하십쇼.
2013/06/27  
goeun30 실행중인 프로그램 없구요
다시빌드한건도 여러번입니다.
2013/06/27  
Silk 일단 소스코드에는 문제가 없습니다.
적어도 문법적인 부분에서는요.

에러메세지를 봣을 때는 윗분 말씀처럼 컴파일하면서 프로그램이 실행되버려서 컴파일이 안된다는 결론이 가장 도출하기 쉽습니다.

다른 상황으로는 소스코드를 메모장이나 다른 에디터로 열었거나, 소스코드가 빌드되는 폴더를 c: 최상위 디렉토리로 잡았거나, 하는 이유가 있을 수 잇습니다.
어쨋거나 뭔가 빌드되는 디렉토리를 잡고 있으므로, 그걸 해결하시면 되겠네요.
2013/06/28  
hjt7942 다시빌드해도 안된다면 코드문제없고 복사후 새프로젝트만들고 붙여넣고 새로 컴파일하세요 해결될겁니다 2013/06/28  
HongMK900 입출력 부분 매니페스트 포함 안함으로 하고 해보세요. 2013/08/14