C에서 인기 있는 문자열 함수 [예제 포함]

게시 됨: 2020-10-21

C 언어의 문자열은 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 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

미래의 직업을 위한 준비

업계에서 신뢰할 수 있는 학습 - 업계에서 인정하는 인증.
더 알아보기