문자열 라이브러리 함수
문자열을 처리하도록 설계된 미리 정의된 함수는 "string.h" 라이브러리에서 사용할 수 있습니다. 그들은 -
- 스트렌()
- strcmp()
- strcpy()
- strncmp()
- strncpy()
- strrev()
- strcat()
- strstr()
- strncat()
strlen() 함수
문자열의 문자 수를 반환합니다.
구문
int strlen(문자열 이름)
예시
#includemain(){ char a[30] =“안녕하세요”; 정수 l; 내가 =strlen (a); printf("문자열의 길이 =%d", l); 가져오기();}
출력
문자열의 길이 =5
strcpy() 함수
- 원본 문자열을 대상 문자열로 복사하기 위한 것입니다.
- 대상 문자열의 길이>=소스 문자열.
구문
strcpy(대상 문자열, 소스 문자열);
예를 들어,
1) char a[50];strcpy ("안녕하세요",a);o/p:error2) char a[50];strcpy (a,"hello");o/p:a="안녕하세요"
예시
#include메인(){ char a[50], b[50]; printf("원본 문자열을 입력하세요"); scanf("%s", a); printf("대상 문자열을 입력하세요"); scanf("%s",b); strcpy (b,a); printf("복사된 문자열 =%s",b); 가져오기();}
출력
소스 문자열 입력 :HelloCopied 문자열 =Hello
strncpy() 함수
-
소스 문자열의 'n'자를 대상 문자열로 복사합니다.
-
대상 문자열의 길이는>=소스 문자열의 길이여야 합니다.
구문
strncpy(대상 문자열, 소스 문자열, n);
예시
#include메인(){ char a[50], b[50]; printf("문자열을 입력하세요"); (a)를 얻는다. 가져오기(b); strncpy (b,a,3);// 문자열에서 처음 3개 문자 복사 b[3] ='\0'; printf("복사된 문자열 =%s",b); 가져오기();}
출력
문자열 입력 :HelloCopied string =HelIt은 부분 문자열 추출에도 사용됩니다.
strcat() 함수
- 두 문자열을 결합합니다.
- 대상 문자열의 길이는> 원본 문자열보다 커야 합니다.
구문
strcat(대상 문자열, 소스 문자열);
예시
#includemain(){ char a[50] ="안녕하세요"; char b[20] ="좋은 아침입니다"; clrscr(); strcat (a,b); printf("연결된 문자열 =%s", a); 가져오기();}
출력
연결 문자열 =Hello Good Morning
strncat() 함수
-
이것은 한 문자열의 n개 문자를 다른 문자열로 결합하거나 연결하는 데 사용됩니다.
-
대상 문자열의 길이는 원본 문자열보다 커야 합니다.
-
결과적으로 연결된 문자열은 대상 문자열에 있습니다.
구문
strncat(대상 문자열, 소스 문자열, n);
예시
#includemain(){ char a [30] ="안녕하세요"; char b [20] ="좋은 아침입니다"; clrscr(); strncat(a,b,4); a [9] ='\0'; printf("연결된 문자열 =%s", a); 가져오기();}
출력
연결 문자열 =Hello Good.
strcmp() 함수(문자열 비교)
-
이 함수는 2개의 문자열을 비교합니다.
-
두 문자열에서 일치하지 않는 처음 두 문자의 ASCII 차이를 반환합니다.
구문
int strcmp (string1, string2);//차이가 0이면 string1 =string2//차이가 양수이면 string1> string2//차이가 음수이면 string1
예시
#include#include int main(){ char a[50], b[50]; 정수 d; printf("문자열 2개를 입력하세요:"); scanf("%s %s", a,b); d =strcmp(a,b); if (d==0){ printf("%s는 (알파벳 순으로) %s와 같습니다", a,b); }else if (d>0){ printf("%s는 (알파벳 순으로) %s보다 큽니다",a,b); }else if (d<0){ printf("%s는 (알파벳 순으로) %s보다 작습니다.", a,b); }} 출력
문자열 2개 입력:apple ballapple은 (알파벳 순으로) ball보다 작습니다.strncmp() 함수
이 함수는 두 문자열의 처음 'n' 문자를 비교하는 데 사용됩니다.
구문
strncmp(문자열1, 문자열2,2)예를 들어, char a[10] ="the";
char b[10] ="거기"
strncmp(a,b,4);
출력 - 두 문자열이 동일합니다.
strrev() 함수
- 이 함수는 문자열을 반전하는 데 사용됩니다.
- 반전된 문자열은 동일한 문자열에 저장됩니다.
구문
strrev(문자열)예시
#include메인(){ char a[50]; clrscr(); printf("문자열을 입력하세요"); (a)를 얻는다. strrev (a); printf("역 문자열 =%s",a) getch();} 출력
문자열 입력 Helloreversed string =olleHstrstr() 함수
메인 문자열에 하위 문자열이 있는지 여부를 검색하는 데 사용됩니다.
s1에서 s2가 처음 나타나는 포인터를 반환합니다.
구문
strstr(mainsring, 부분 문자열);예시
#include메인() 무효{ char a[30],b[30]; char *찾음; printf("문자열을 입력하세요:\t"); (a)를 얻습니다. printf("검색할 문자열을 입력하세요:\t"); 가져오기(b); 발견=strstr(a,b); if(found) printf("%s는 %s의 %d 위치에 있습니다.",b,a,found-a); else printf("문자열을 찾을 수 없기 때문에 -1"); getch();} 출력
문자열을 입력하세요:how are you검색할 문자열을 입력하세요:you is found in 8 position