Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[4500] Re:컴파일 에러가 발생합니다.
남병철.레조 [lezo] 1321 읽음    2004-06-24 08:48
Parameter 'argc' is never used는 오류가 아니라 워닝으로 코딩하는 사람에게 경고주는 의미입니다.
아시겠지만, 프로그램에서 argc를 사용하지 않는다고...
#pragma argsused
빌더로 콘솔프로그래밍 할때 보면, 이건 함수의 인자값이 사용되지 않아도 워닝을 띄우지 않게하는것입니다.
음...
argc 예를 보여달라고 하셨던데...
분명.. 프로그램을 실행할때 인자가 없음에도 불구하고 argv에서 값을 읽으려 하면 오류가 생길것입니다.
근데 컴파일러 창에는 argc 워닝만 있을테니 오류로 오인할 수 도 있겠습니다...
일단 인자값이 없을때를 대비하여 argc를 간단히 사용해 보자면...
if( argc < 3 ) return;
이렇게 인자값이 3개 미만일때는 프로그램을 종료하게 합니다.
그럼 오류는 뜨지 않을것입니다.

프로그램 내에서 인자값을 줄 수있습니다.
메뉴 Run -> Arguments
여기서 인자값 2개를 주면됩니다. 간단하 1 10 과 같이 띄어쓰기로 구분해서 주면됩니다.



바보 님이 쓰신 글 :
: 안녕하세요..
: 2시간 반동안 해매다 도저히 모르겠내여..
: 초보라 어쩔수 없이 질문을 드립니다.
: 아래 소스를 실행을 하면
: -----------------------------------------------------
: Parameter 'argc' is never used
: -------------------------------------------------------
: 이런 에러가 발생합니다.
: 환경은  win2000에서 Turbo C++3.0으로 컴파일을 한겁니다.
:
:
: #include <stdio.h>
: #include <stdlib.h>
: #include <string.h>
:
: #define MAXLEN 256
:
: struct RecForm {
:      long       Key1;         /* 고객번호 */
:      long       Key2;         /* {여행거리 + (탑승인원 * 월이용횟수)} */
: } rec[1001];
:
: void main(int argc, char * argv[])
: {
:      /*static char Line[MAXLEN];   */
:     char Line[MAXLEN];  /* 한 라인 저장 */
:      int  i, j, Cnt;                                       /* 첨자(i,j), 자료건수(Cnt) */
:      int  Start, End;                                      /* 인수1, 인수2 */
:      FILE *Infp, *Outfp;                                   /* 파일 포인터 */
:
:      static char Temp2[3], Temp3[4], Temp5[6], Temp6[7];   /* 숫자필드 임시저장 */
:      char Item1;                                           /* 도착지코드의 시작문자 */
:      long Item2, Item3, Item4, Item5;        /* 열차요금, 여행거리, 탑승인원, 월이용횟수 */
:
:      long ExTemp;                 /* 고객번호, {여행거리 + (탑승인원 * 월이용횟수)} 교환 */
:
:      Start = atoi(argv[1]);                                /* 첫번째 파라미터 */
:      End = atoi(argv[2]);                                  /* 두번째 파라미터 */
:
:      /* 입력파일을 입력전용(텍스트 모드)으로 연다. */
:      Infp = fopen("c:\\C_iT\\data\\abc3015.txt", "rt");   
:
:      Cnt = 0;                                              /* 자료건수 초기화 */
:      rec[4].Key1 = 0;                                      /* 출력자료 초기화 */
:      /* 입력부분(조건에 맞는 자료 배열에 저장) */
:      for(i = 1; i <= End; i++)
:     {
:          fgets(Line, MAXLEN, Infp);
:          if(i >= Start)
:         {
:              Item1 = *(Line+21);                           /* 도착지코드의 시작문자 */
:              Item2 = atol(strncpy(Temp6, Line+9,  6));     /* 열차요금 */
:              Item3 = atol(strncpy(Temp5, Line+26, 5));     /* 여행거리 */
:              Item4 = atol(strncpy(Temp3, Line+23, 3));     /* 탑승인원 */
:              Item5 = atol(strncpy(Temp2, Line+31, 2));     /* 월이용횟수 */
:
:              /* 도착지코드가 K로 시작하고 열차요금이 13520 이상인 자료 */
:              if((Item1 == 'K') && (Item2 >= 13520))
:              {
:                  Cnt++;
:                  /* 고객번호, {여행거리 + (탑승인원 * 월이용횟수)} */
:                  rec[Cnt].Key1 = atol(strncpy(Temp5, Line+0, 5));
:                  rec[Cnt].Key2 = Item3 + (Item4 *  Item5);
:              }
:          }
:      }
:
:      /* {여행거리 + (탑승인원 * 월이용횟수)}의 값에 따라 정렬 */
:      for(i = 1; i <= Cnt-1; i++)
:     {
:          for(j = i+1; j <= Cnt; j++)
:          {
:              /* 내림차순 정렬, 같은경우 고객번호의 오름차순 정렬 */
:              if((rec[i].Key2 < rec[j].Key2) ||((rec[i].Key2 == rec[j].Key2) && (rec[i].Key1 > rec[j].Key1)))
:             {
:                    ExTemp = rec[i].Key1;               /* 고객번호 교환 */
:                    rec[i].Key1 = rec[j].Key1;
:                    rec[j].Key1 = ExTemp;
:
:                    ExTemp = rec[i].Key2;  /* {여행거리 + (탑승인원 * 월이용횟수)} 교환 */
:                    rec[i].Key2 = rec[j].Key2;
:                    rec[j].Key2 = ExTemp;
:              }  
:         }
:     }
:
:      /* 입력파일을 닫는다. */
:      fclose(Infp);
:
:      /* 출력파일을 출력전용(텍스트모드)으로 연다. */
:      Outfp = fopen("C:\\C_iT\\Data\\ans1.txt", "wt");
:      /* 출력파일에 결과값을 출력한다. - 4번째 고객번호 */
:      fprintf(Outfp, "%d  %d  %ld\n", Start, End, rec[4].Key1);
:      /* 출력파일을 닫는다. */
:      fclose(Outfp);
: }
:

+ -

관련 글 리스트
4496 컴파일 에러가 발생합니다. 바보 1359 2004/06/23
4500     Re:컴파일 에러가 발생합니다. 남병철.레조 1321 2004/06/24
4497     Re:컴파일 에러가 발생합니다. 바보 1308 2004/06/23
4498         Re:Re:컴파일 에러가 발생합니다. civilian 1295 2004/06/23
4499             Re:Re:Re:컴파일 에러가 발생합니다. 바보 1234 2004/06/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.