'string.h'에 해당되는 글 1건

  1. 2008.11.25 string.h 함수 정리 (형식/기능)

string.h 함수 정리 (형식/기능)

 

 

함수명

형식 / 기능

strlen()

unsigned strlen( const char *str )

str 문자열 길이를 반환

strcat()

char *strcat( char *str1, const char *str2 )

str1의 문자열에 str2 문자열을 연결

strncat()

char *strncat( char *str1, const char *str2, unsigned c )

str1의 문자열에 str2 문자열의 선두 c개의 문자를 연결

strcmp()

char *strcmp( char *str1, const char * str2 )

str1의 문자열과 str2 서로 부호 없는 비교,
str1>str2
이면 양수값 반환 / str1<str2 이면 음수값 반환 / str1=str2 이면 0을 반환

strncpm()

char *strncpm( char *str1, const char *str2, unsigned c )

str1 문자열의 선두 c개의 문자와 str2 문자열을 비교

strcpy()

char *strcpy( char *str1, const char *str2 )

str1의 문자열에 str2 문자열을 복사, str1의 값을 반환함.

strncpy()

char *strncpy( char *str1, const char *str2, unsigned c )

str1의 문자열에 str2 문자열의 선두 c개의 문자를 복사

strstr()

char *strstr( const char *str1, const char *str2 )

문자열 str2가 문자열 str1에서 처음 일치하는 위치를 알려준다. 만약 문자열이 발견 되면 str1에 있는 그 문 자열의 포인터를 반환한다. 그 외에는 NULL 포인터를 반환한다.

strerror()

char *strerror( int num )

오류번호 num을 받아 해당하는 오류 메시지를 반환

strpbrk()

char *strpbrk( char *str1, const char *str2 )

지정한 str1의 문자열에서 str2의 문자열에 포함된 어떤 문자를 찾고 위치 포인터를 반환

strrchr()

char *strrchr( const char *str, int c )

문자열 str에서 c가 마지막으로 나타나는 위치를 알려준다. c가 발견되면 c의 포인터 를 반환한다. 그 외에는 NULL포인터를 반환한다.

strcspn()

char *strcspn( char *str, const char *str2 )

str1의 문자열에서 str2의 문자열에 포함된 문자가 첫 번째 나타날 때 까지의 문자수

strspn()

char *strspn( char *str1, const char str2 )

str1의 문자열에서 str2의 문자열에 포함되지 않은 문자가 첫 번째 나타날 때까지의 문자수

strtok()

char *strtok( char *str1, const char *str2 )

일련의 strtok 호출은 문자열 str1을 문자열 str2가 가지고 있는 문자로 구분되는 '토큰'으로 나눈다. 첫 번째 호출은 첫 번째 인수인 str1을 사용하여 두 번째 호출부터는 NULL을 첫 번째 인수로 사용한다. 매 호출마다 현재 토큰의 포인터를 반환한다. 더 이상 토큰이 없으면 NULL을 반환한다 .

strupr()

char *strupr( char *str )

지정한 str의 문자열 중 소문자를 대문자로 변환

 

 

또 다른 글 =============================================================================================

 

stpcpy

원형 : char *stpcpy( char *dest, char *src );

헤더 : string.h

기능 : 문자열 src를 문자배열 dest로 복사한다. dest 의 길이가 src 보다 작은 경우 dest 뒤의 인접 데이터가 파괴된다.

리턴 : dest + strlen(src)의 번지를 리턴

 

 strcat

원형 : char *strcat( char *dest, const char *src );

헤더 : string.h

기능 : 문자열끼리 연결한다. dest의 널문자 위치에 src가 붙는다. dest의 길이가 ( dest 문자열 + src 문자열 ) 길이보다 작을 경우 인접 데이터가 파괴된다.

리턴 : dest의 번지가 리턴

 

 strchr

원형 : char *strchr( const *src, int c );

헤더 : string.h

기능 : 문자열 배열 src 내에 문자 c가 있는지 검사하고 있을 경우 문자 c가 있는 번지를 리턴. 널문자도 문자로 취급하기 때문에 널문자를 넣으면 첫번째 널문자의 번지를 리턴한다.

리턴 : 문자열 src내에서 발견된 문자 c의 포인터. 발견되지 않을 경우 NULL 리턴

 

 strcmp

원형 : int strcmp( const char *src1, const char *src2 );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교함. 이 함수를 사용하여 두 개의 문자열이 같은 문자열인지 아닌지를 비교할 수 있다. 같을 경우 0, 다를 경우 양수나 음수의 값을 리턴.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strcmpi

원형 : int strcmpi( const char *src1, const char *src2 );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교함. 하지만 대소문자를 구분하지 않는다. 이 함수를 사용하여 두 개의 문자열이 같은 문자열인지 아닌지를 비교할 수 있다. 같을 경우 0, 다를 경우 양수나 음수의 값을 리턴.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strcoll

원형 : int strcoll( char *src1, char *src2 );

헤더 : string.h

기능 : setlocale 함수에 의해 지정된 비교방식에 따라 두 개의 문자열을 비교

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strcpy

원형 : char *strcpy( char *dest, const char *src );

헤더 : string.h

기능 : 문자열 src를 문자배열 dest로 복사한다. dest 의 길이가 src 보다 작은 경우 dest 뒤의 인접 데이터가 파괴된다.

리턴 : dest의 번지가 리턴

 

 strcspn

원형 : size_t strcspn( const char *src1, const char *src2 );

헤더 : string.h

기능 : 문자열 src1 중에 문자열 src2에 들어 있지 않은 문자들이 연속해 있는 길이를 구한다. 문자열 s2에 없는 문자들로 구성되어 있는 문자열 s1 내의 세그먼트를 찾아내고 그 세그먼트의 길이를 리턴.

예를 들어 src1 = "123456" 이고 src2 = "0486" 이라면 src1 내에서 src2 의 문자인 4가 나오기 전까지의 길이인 3을 리턴한다.

리턴 : 찾아낸 세그먼트의 길이만약 0을 리턴한다면 세그먼트가 발견되지 않은 것이다.

 

 strdup

원형 : char *strdup( const char *src );

헤더 : string.h

기능 : 새로운 메모리를 할당하고 문자열 src를 복사한 후 그 포인터를 리턴한다. 종료 시 반드시 복제된 문자열은 메모리를 해제해 주어야 한다.

리턴 : 복제된 문자열의 포인터를 리턴. 메모리 할당에 실패한 경우 NULL을 리턴.

 

 _strerror

원형 : char *_strerror( const char *src );

헤더 : string.h, stdio.h

기능 : 사용자가 정의하는 에러 메시지를 만든다. src NULL일 경우 최근 발생한 에러 메시지만으로 구성된 문자열을 만들고 src NULL이 아닌 경우 에러메시지 형식의 문자열을 만든다.

만약 src "babo" 이면 babo : 최근 에러 메시지 같은 형식으로 문자열을 만든다.

리턴 : 만들어진 에러 문자열의 포인터를 리턴한다.

 

 strerror

원형 : char *strerror( int errnum );

헤더 : stdio.h

기능 : errnum에 해당하는 에러메시지 문자열을 만든다. 에러메시지 문자열은 모두 \n으로 끝나므로 개행 문자를 첨가해 줄 필요는 없다.( 에러 메시지는 이미 정의되어 있으므로 궁금하면 출력시켜보자)

리턴 : 에러메시지 문자열의 포인터

 

 stricmp

원형 : int stricmp( const char *src1, const char *src2 );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교함. 하지만 대소문자를 구분하지 않는다. 이 함수를 사용하여 두 개의 문자열이 같은 문자열인지 아닌지를 비교할 수 있다. 같을 경우 0, 다를 경우 양수나 음수의 값을 리턴이 함수를 매크로로 정의해 둔 함수가 strcmpi 이다.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strlen

원형 : size_t strlen( const char *src );

헤더 : string.h

기능 : 문자열 src 의 길이를 계산한다. 널문자는 길이에 포함되지 않고 널문자 앞에 까지 문자 개수를 리턴한다.

리턴 : 문자열의 길이

 

 strlwr

원형 : char *strlwr(char *src);

헤더 : string.h

기능 : 문자열 src 내의 대문자(A~Z)를 소문자(a~z)로 변경한다. 영문자 외의 다른 문자는 변경하지 않는다.

리턴 : 인수로 주어진 src를 그대로 리턴

 

 strncat

원형 : char *strncat( char *dest, const char *src, size_t maxlen );

헤더 : string.h

기능 : dest 의 널문자에 src의 문자열을 붙이는데 maxlen 길이 만큼만 붙인다.

리턴 : dest의 번지를 리턴

 

 strncmp

원형 : int strncmp( const char *src1, const char *src2, size_t maxlen );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교한다. 비교시 대소문자를 구분한다. 하지만 문자열 전체를 비교하는 것이 아니라 maxlen 길이 만큼만 비교한다.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strncmpi

원형 : int strncmpi( const char *src1, const char *src2, size_t maxlen );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교한다. 비교시 대소문자를 구분하지 않는다하지만 문자열 전체를 비교하는 것이 아니라 maxlen 길이 만큼만 비교한다.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strncpy

원형 : char *strncpy( char *dest, char *src, size_t maxlen );

헤더 : string.h

기능 : 문자열을 정해진 길이만큼 복사한다. 길이만큼만 복사하기 때문에 dest의 뒤에 널문자가 붙지 않는다.

리턴 : dest의 번지를 리턴

 

 strnicmp

원형 : int strnicmp( const char *src1, const char *src2, size_t maxlen );

헤더 : string.h

기능 : 두 개의 문자열을 대소 비교한다. 비교시 대소문자를 구분하지 않는다하지만 문자열 전체를 비교하는 것이 아니라 maxlen 길이 만큼만 비교한다. 이 함수의 매크로 버젼이 strncmpi 이다.

리턴 : src1 < src2  인 경우 음수 리턴

         src1 = src2  인 경우 0 리턴

         src1 > src2  인 경우 양수 리턴

 

 strset

원형 : char *strset( char *src, int c );

헤더 : string.h

기능 : 문자열을 특정 문자로 채운다. 문자열 중 널문자가 발견될 때가지 문자 c 로 채운다.

리턴 : src의 번지를 리턴

 

 strpbrk

원형 : char *strpbrk( const char *src1, const char *src2 );

헤더 : string.h

기능 : 문자열 src1 내에 문자열 src2에 있는 문자 중의 하나라도 있는지 검사하고 있을 경우 그 포인터를 리턴.

리턴 : 문자열 src1 내에 문자열 src2에 있는 문자 중 하나가 발견된 포인터를 리턴. 없을 경우 널을 리턴

 

 strrchr

원형 : char *strrchr( const cjar *src, int c );

헤더 : string.h

기능 : 문자 배열 src내에 문자 c가 있는지 검사하고 있을 경우 문자 c가 있는 번지를 리턴한다. 하지만 앞에서 부터 검사하는 것이 아니라 뒤에서 부터 검사를 진행한다.

리턴 : 문자열 src에서 발견된 문자 c의 포인터를 리턴. 발견되지 않을 경우 널을 리턴.

 

 strrev

원형 : char *strrev( char *src );

헤더 : string.h

기능 : 문자열의 순서를 바꾼다. 즉 제일 앞에 있는 문자가 제일 뒤로 가고 제일 뒤의 문자가 제일 처음으로 옮겨진다. 널문자는 이동 없음.

리턴 : 역순으로 바꾼 문자열의 src번지

 

 strspn

원형 : size_t strspn( const char *src1, const char *src2 );

헤더 : string.h

기능 : 문자열 src1 중에서 문자열 src2에 있는 문자들이 연속해 있는 길이를 구한다.

예를 들어 src1 = "12345678" 이고 src2 = "143290" 이라면 src1에서 src2의 문자들을 찾아보면 1234가 있다. 이 문자열의 길이 4를 리턴한다.

리턴 : 찾아낸 세그먼트의 길이를 리턴. 만약 0을 리턴하면 세그먼트를 찾지 못한 것이다.

 

 strstr

원형 : char *strstr( const char *src1, const char *src2 );

헤더 : string.h

기능 : 문자열 src1내에서 문자열 src2가 포함되어 있는지 검사하고 있다면 src2와 같은 문자열이 있는 부분을 리턴한다.

리턴 : 부분문자열의 선두 번지. 없다면 널을 리턴

 

 strtod

원형 : double strtod( const char *src1, char **endptr );

헤더 : stdlib.h

기능 : 문자열을 double 형 부동 소수점으로 바꾼다. 문자열은 다음과 같은 구조로 이루어져야 한다.

[공백,][부호][숫자][소수점][e]  -> ex) -5.64e+5, -3.6924

순서를 어기거나 불필요한 문자가 중간에 있을 경우는 변환이 중지.

endptr 인수는 변환이 중지될 경우 중지된 문자를 가리키므로 에러 검색에 사용

리턴 : 변환된 double 형 실수를 리턴. overflow 발생시 HUGE_VAL을 리턴

 

 strtok

원형 : char *strtok( char *src1, char *src2 );

헤더 : string.h

기능 : 문자열에서 token을 찾아낸다. ( token 이란 특정한 구분자로 분리되는 문장 구성 요소이다. 구분자가

"/"라 할때 다음 문자열은 1994 Feb 20의 세 개의 token 으로 분리된다. "1994/Feb/20" )

문자열 src1 token을 찾아낼 문자열이며 src2 token 구분자가 들어있는 문자열이다. token 구분자는 여러개가 복수 개 지정될 수 있으며 token 구분자는 strtok 호출 시 마다 바뀔 수 있다.

리턴 : 찾아낸 token의 포인터를 리턴. token이 더 이상 없을 경우 널 리턴.

( 이해가 안가는 분은 winapi에서 예제를 참고)

 

strtol

원형 : long strtol( const char *src1, char **endptr, int radix );

헤더 : stdlib.h

기능 : 문자열을 long 형 정수로 변환한다.문자열 src1은 다음과 같은 구조로 이루어져야 한다.

[공백, ][부호][숫자]

만약 이 순서를 어기거나 불필요한 문자가 문자열 내에 있을 경우 변환은 중지되고 중지된 위치가 endptr에 설정된다. endptr은 에러 검색에 사용하면 용이. 그리고 radix은 문자열을 해석할 진법을 지정할 때 사용되는데 범위는 2~36 까지 이고 그 진법에서 사용되는 문자만 인식

리턴 : 변환된 long 형 정수를 리턴. 변환이 불가능할 경우 0을 리턴

 

strtoul

원형 : unsigned long strtoul(const char *src1, char **endptr, int radix );

헤더 : string.h

기능 : 문자열을 부호없는 long 형 정수로 바꾼다. 사용법은 strtol 과 동일.

리턴 : 변환된 unsigned long 형 정수를 리턴. 변환이 불가능할 경우 0을 리턴

 

strupr

원형 : char *strupr( char *src );

헤더 : string.h

기능 : 문자열 src내의 소문자 (a~z)를 대문자( A~Z)로 변환한다. 영문자 외의 다른 문자는 변경하지 않는다.

리턴 : src의 번지를 리턴

출처&참조 : www.winapi.co.kr

 

Posted by 두장
이전버튼 1 이전버튼