프로그래밍

 3203, 1/161 회원가입  로그인  
   indra
   http://indra.linuxstudy.pe.kr
   [re] c 몆가지 명령어좀 질문이요!!

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=8 [복사]


>strcat 이라는 명령어는 어떨떠 쓰는건가요
>strcpy 랑 가치요!!

먼저.. 이런것은.. 명령어가 아니라..
함수라고 합니다.. strcat() 함수, strcpy() 함수..
이렇게 부릅니다..
그리고.. strcat() 의 함수원형은

char *strcat(char *dest, const char *src);

로 되어 있습니다.
함수원형이라는것은 prototype 라고 하여, 해당 함수를 사용할때 필요한 조건을
기준으로 정해놓은것을 말합니다.
strcat() 함수의 기능은 문자열의 연결이 가장 기본적이 되며,
dest 변수의 문자열 뒤에 src 문자열이 연결되게 됩니다.

int main()
{
   char dst[10];
   char *src = "EFGH";
   strcpy(dst, "ABCD");
   strcat(dst, src);
   printf("dst: %s\n", dst);
}

위의 코드를 실행해보면 dst 의 출력값은 "ABCDEFGH" 가 됩니다.
조금 더 고급쪽으로 들어가면.. dst 뒤에 src 가 올때
dst 에 포함되어 있는 NULL 문자는 src 를 연결 한 다음 src 뒤로 이동하게 됩니다.
이해가 안가셔도.. 알아두시다가 나중에 프로그래밍을 어느정도 하시게 되면..
이해가 가실겁니다.

그리고 strcpy() 함수는
string copy(문자열 복사) 의 목적으로 함수원형은 다음과 같습니다.

char *strcpy(char *dest, const char *src);

strcat() 과는 다르게, src 변수에 저장된 문자열을 dest 의 처음부터 복사합니다.

int main()
{
    char dst[10];
    char *src = "ABCD";
    memset(dst, 0, 10); // dst 초기화.
    strcpy(dst, src);
    printf("dst: %s\n", dst);
}

위 코드의 실행 결과에서 dst 는 "ABCD" 를 출력합니다.
그리고.. 함수에 대한 궁금증이 있으시면..
먼저 man 페이지 활용을 해보세요..

참고로.. 보안을 위한 프로그래밍에 대해서..
strcpy() 와 strcat() 의 사용은 자제해줄것을 권고하고 있습니다.
이는 overflow 의 원인이 되므로, strncpy() 나 strncat() 처럼..
경계값을 설정하여, 검사하는 함수를 사용하라고 권고하고 있습니다.

  Hit : 5378     Date : 2003/09/05 01:14
[불법/스팸글로 신고하기]



    
소유 역시 인드라님 멋져요 ^^* 2003/09/05  
3203   c언어 segmentation fault:11 오류 질문드립니다![2]     leebk1124
05/21 875
3202   C++함수관련 질문이에용!![2]     1999dylee
05/11 878
3201   파이썬 지문 드립니다.[1]     kksh1107
04/24 737
3200   리버싱의 세번쨰 꽃 - 역랑-     nninni79
04/20 991
3199   달고나 문서 쉘코드[1]     ghjk645
03/24 811
3198 비밀글입니다  c언어 소수 값     adwefq
04/29 0
3197   C언어 소스질문입니다![4]     an0088
01/05 2556
3196   C++ /// 빌드 에러 ㅠㅠ     guichanta
08/23 1542
3195 비밀글입니다  c언어 도와주세요ㅠㅠ     su6339
04/06 0
3194   해킹을 배우려고하는데[3]     zoodem04
03/26 3061
3193   c언어를 배우고싶어요 ![7]     dwc07238
02/11 2550
3192   스택이 쌓이는 방향에 관해서!![1]     hackxx123
12/10 1997
3191   해킹툴에서 ip 없이 하드에 심는거에는 어떤게 있을까요?[2]     aowlrgmlals
11/27 2249
3190   C언어 하는데 double 실수를 넣은데 자꾸 0.0이 나와요[2]     fatou10336
11/20 1890
3189   dumpcode.h 이해좀 도와주세요 .[1]     cm6418
11/06 1789
3188   c언어 알고리즘 질문입니다.[3]     alstn8150
10/12 2068
3187     [re] c언어 알고리즘 질문입니다.     dafher
05/13 972
3186   c언어 소스 질문 뭐가 문제인지ㅜㅜㅜㅜ[2]     sjjh96
05/23 3040
3185   파이썬 클래스 공부중 질문[1]     wnsdud5534
04/12 1915
3184   dll 인젝션 키보드 후킹(win32api)[1]     healer
03/11 2073
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2022 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com