C에서 인기 있는 문자열 함수 [예제 포함]
게시 됨: 2020-10-21C 언어의 문자열은 null 문자('\0')로 끝나는 문자 배열입니다. 문자열 끝에 있는 null 문자는 문자열의 끝을 나타내며 문자열은 항상 큰따옴표로 묶입니다. C 언어에서 문자는 작은따옴표로 묶입니다. 아래에 둘 다에 대한 몇 가지 예가 나와 있습니다.
C 문자 및 문자열의 예 또는 표현
- char string[10] = { 's','d','f','d','t','j','a','\0' };
- char string[10]="더 신선함";
- char string[]="더 신선함";
위의 두 명령문에서 문자열 선언 사이에는 약간의 차이가 있습니다. char를 string[10]으로 선언할 때와 마찬가지로 string의 10개 값을 저장하기 위해 10바이트의 메모리 공간이 할당되는 반면 string[]처럼 선언하면 프로그램 실행 시 메모리가 할당됩니다.
목차
문자열 선언 및 초기화
C 프로그래밍에서 문자열은 위와 같이 두 가지 방법으로 선언할 수 있습니다. C 프로그래밍에서 문자열은 null 또는 '\0' 문자로 끝나는 일련의 문자입니다. 같은 예가 아래에 나와 있습니다.
char temp[]=" 임시 문자열";
문자열이 큰따옴표로 묶인 char 유형으로 선언되면 문자열 끝에 \0이 자동으로 추가됩니다. 예를 들어:

char temp[]=" 임시 문자열";
티 | 이자형 | 중 | 피 | 에스 | 티 | 아르 자형 | 나 | N | G | \0 |
문자열 선언
C 언어의 문자열은 다음과 같은 방식으로 선언됩니다.
숯 온도[5];
s[0] s[1] s[2] s[3] s[4]
이런 식으로 길이가 5인 문자열을 초기화할 수 있습니다.
문자열 초기화
문자열 초기화는 여러 가지 방법으로 수행할 수 있으며 그 중 일부는 다음과 같습니다.
char t[]=" 임시 문자열";
char t[10]="임시 문자열";
char t[]={'t','e','m', 'd','\0'};
char t[5]={'t','e','m', 'd','\0'};
티 | 이자형 | 중 | 피 | \0 |
t[0] t[1] t[2] t[3] t[4]
위 유형의 선언에서는 4개의 문자만 있는 문자열만 저장할 수 있지만 이러한 문자열이나 배열에 5개의 문자를 저장하려면 더 긴 길이의 문자 배열이 필요할 수 있습니다.
읽기: Java의 문자열 배열: 코딩 예제가 포함된 Java 문자열 배열
문자열에 값 할당
배열과 문자열은 할당 연산자를 지원하지 않습니다. 문자열이 선언되면 문자열 유형 변수에 값을 할당할 수 없습니다. 예를 들어 C 언어에서는 다음과 같은 방식으로 값을 작성하고 할당할 수 없습니다.
문자 t[100];
t = "온도 값";
C에서 문자열 처리
이제 우리는 문자열 처리를 훨씬 쉽게 만들어주는 인기 있는 문자열 함수 중 일부를 C 에서 사용할 것입니다. 문자열 읽기, 문자열 복사 또는 반전과 같은 문자열에 대한 여러 작업 및 기타 여러 작업은 이러한 함수를 사용하여 문자열에서 쉽게 수행할 수 있습니다.
문자열 연산자 또는 문자열 함수를 사용하여 문자열을 직접 조작할 수 있습니다. 여기, 이 기사에서는 C에서 문자열 처리를 설명하기 위해 gets(), puts(), strlen(), strcopy() 및 기타 여러 라이브러리 함수를 설명합니다.
때때로 프로그래머는 필요한 문제에 따라 문자열 함수를 조작하기 위해 문자열 함수를 작성해야 합니다. 그러나 문자열 조작은 수동으로 수행할 수 있지만 이로 인해 프로그래밍이 상당히 복잡하고 커질 수 있습니다.
C 에는 "string.h"라고 하는 표준 문자열 함수 라이브러리가 있습니다. 확장자가 ".h"인 이 헤더 파일에는 구문이 다른 많은 문자열 처리 기능이 있습니다. 이 기사의 아래 섹션에서 그 중 몇 가지에 대해 논의할 것입니다.
C의 몇 가지 일반적인 문자열 처리 함수 목록
함수 | 설명 |
strlen() | 문자열의 길이를 계산할 수 있습니다. |
구조체() | 문자열의 내용을 다른 문자열로 복사할 수 있음 |
strcat() | 두 문자열을 연결하거나 결합하는 데 사용됩니다. |
문자열() | 두 문자열을 비교할 수 있음 |
strlwr() | 문자열을 소문자로 변환 가능 |
스트루프() | 문자열의 문자를 대문자로 변환하는 데 사용됩니다. |
스트렙() | 문자열을 뒤집을 때 사용 |
프로그램에서 문자열 처리 기능을 사용해야 하는 경우 기능은 이러한 많은 기능에만 국한되지 않습니다. 다른 많은 기능도 있습니다. 따라서 논의해 보겠습니다.
1) 넣기() 및 가져오기()
문자열 헤더 파일의 get 및 put의 두 가지 인기 있는 기능은 사용자로부터 입력을 받아 각각 문자열을 표시하는 데 사용됩니다. 이 두 함수는 string.h 파일에 정의되어 있습니다. 이러한 기능의 한 가지 예를 살펴보겠습니다.
#메인() 포함
정수 메인()
{
숯 온도[20];
printf("이름을 입력하세요");
가져오기(온도);
printf("내 이름은: ");
넣기(온도);
반환 0;
}
2) strcat()
하나의 문자열을 다른 문자열 끝에 추가해야 하는 경우 이 기능을 사용합니다. 함수 strcat은 대상 문자열의 끝에 원본 문자열의 복사본을 추가할 수 있습니다. 사용자는 아래에 설명된 두 개의 인수를 전달해야 합니다.

나) src
ii) 목적지
여기 "src" 위치에 문자열이 지정되고 'dest' 위치에 소스 문자열을 추가해야 하는 대상 문자열이 지정됩니다.
예시
#include<문자열.h>
정수 메인()
{
char src[20]= "이전";
char 대상[20]= "후";
strcat(목적지, src);
풋(목적지);
반환 0;
}
출력은 다음과 같습니다.
삼) 함수 strlen()
문자열에 직접 사용할 수 있는 문자열 헤더 파일의 또 다른 기능은 strlen()입니다. 문자열 의 길이를 알아야 할 때 C 의 문자열 함수인 strlen() 함수를 사용할 수 있습니다 . 그러나 임의의 문자열의 길이를 찾기 위해 프로그램을 수동으로 작성할 수도 있지만 이 직접 함수를 사용하면 시간을 절약할 수 있으며 예는 다음과 같습니다.
#include<stdio.h>
정수 메인()
{
정수 길이;
char s[20] = "우리는 여기 있습니다";
길이 = strlen(들);
printf("\문자열의 길이는 = %d \n", length);
반환 0;
}
문자열의 길이는 = 11입니다.
4) 함수 strcpy()
한 문자열의 내용을 다른 문자열로 복사해야 하는 경우 이 기능이 사용됩니다. 함수의 구문은 strcpy(dest,source)입니다. 이 함수는 한 문자열의 내용을 다른 문자열로 복사할 수 있습니다. 함수의 한 예는 다음과 같습니다.
#include<문자열.h>
정수 메인()
{
char src[20]= “목적지”;
문자 대상[20]= "";
printf("\n 소스 문자열은 = %s", src);
printf("\n 대상 문자열은 = %s", 대상);
strcpy(목적지, src);
printf("\nstrcpy() = %s 이후의 대상 문자열", 대상);
반환 0;
}
산출
소스 문자열은 = 대상
대상 문자열은 =
strcpy() = 대상 이후의 대상 문자열
배우기: StringBuffer 대 StringBuilder: StringBuffer와 StringBuilder의 차이점
5) 함수 strcmp()
두 문자열을 비교하여 동일한지 여부를 확인하려면 strcmp() 함수를 사용할 수 있습니다. 이 함수는 0, >0 또는 <0일 수 있는 명확한 값을 반환합니다. 이 함수에서 전달된 두 값은 대소문자 구분으로 처리되며 'A'와 'a'는 다른 문자로 처리됩니다. 함수에서 반환된 값은 다음과 같이 사용됩니다.
i) 두 문자열이 같으면 0이 반환됩니다.
ii) str1<str2이면 음수 값이 반환됩니다.
iii) str1>str2이면 양수 값이 반환됩니다.
예시:
#include<stdio.h>
#include<문자열.h>
정수 메인()
{
char str1[]="복사";
char str2[]="트로피";
정수 I,j,k;
i=strcmp(str1, "복사");
j=strcmp(str1, str2);
k-strcmp(str1, "f");
printf("\n %d %d %d",I,j,k);
반환 0;
}
출력: 0 -1 1
6) 함수 strlwr() / strupr()
때로는 문자열의 소문자를 대문자로 또는 그 반대로 변환해야 할 수도 있습니다. 이를 위해 C에는 두 개의 직접 문자열 함수가 있으며 대문자에서 소문자로 또는 그 반대로 변환을 수행하는 데 사용할 수 있습니다. 여기에서 동일한 예를 설명했습니다.
#include<stdio.h>
#include<문자열.h>
정수 메인()
{
char str[]="소문자로 변환";
printf("%s\n", strlwr(str));
반환 0;
}
출력: 나를 소문자로 변환
마찬가지로 strlwr 대신 strupr 함수를 사용하면 모든 내용이 대문자로 변환됩니다. 문자열 헤더 파일에 정의된 strupr 함수를 사용할 수 있습니다. 이 기능을 통해 문자열의 모든 문자가 변환되며 이는 긴 수동 절차 없이도 가능합니다.
7) 함수 strrev()
거대하거나 광범위한 프로그램을 수동으로 작성하지 않고 문자열을 반전시키려면 이 기능을 사용할 수 있습니다. strrev() 함수는 문자열의 내용을 뒤집는 데 사용됩니다. Strrev 함수는 주어진 문자열이 회문인지 아닌지 여부를 문자열의 특성을 확인하는 데 사용됩니다. 문자열 반전 기능의 여러 다른 용도 및 응용 프로그램도 있습니다. 그 용도 중 하나는 다음과 같습니다.
#include<stdio.h>
#include<문자열.h>
정수 메인()
{
char temp[20]="역방향";
printf("반전하기 전 문자열: %s\n", temp);
printf("strrev() 다음 문자열 :%s", strrev(temp));
반환 0;
}

목적이 있는 몇 가지 더 많은 문자열 처리 함수:
C에는 더 많은 문자열 함수 가 있다고 앞에서 말했듯이 C에서 문자열 처리에 일반적으로 사용되는 다른 함수는 다음과 같습니다.
함수 | 목적 |
strchr() | str1에서 char의 첫 번째 항목에 대한 포인터를 반환합니다. |
strdup() | 문자열을 복제할 수 있습니다. |
strset() | 문자열의 모든 문자를 주어진 문자로 설정 |
strchr() | 첫 번째 포인팅 문자의 발생 위치를 찾는 데 사용됩니다. |
또한 읽기: Java의 스캐너 클래스: 생성자 및 메서드 유형, 사용 방법
마지막 단어
다른 모든 언어 C와 마찬가지로 바로 사용할 수 있거나 내장된 함수의 방대한 라이브러리도 있습니다. 문자열을 처리하기 위해 이러한 함수를 직접 사용할 수 있습니다. 그러나 기능은 이들에 국한되지 않습니다. 헤더 파일에는 C의 다른 많은 문자열 함수가 있습니다. 이들의 주요 이점은 코딩 시간과 길이를 줄이는 것입니다.
Java, OOP 및 전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9 + 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.