C 언어에서 문자열을 다루는 함수들은 string.h 라이브러리에 포함되어 있습니다. 이러한 함수들은 문자열을 조작하고 처리하기 위한 다양한 기능을 제공합니다.
아래는 C 언어에서 주로 사용되는 문자열 함수들과 그 예제입니다.
strlen 함수
strlen 함수는 문자열의 길이를 계산하는 함수입니다. 아래는 strlen 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int length = strlen(str);
printf("The length of the string is %d.\n", length);
return 0;
}
위 예제에서는 strlen 함수를 사용하여 문자열 "Hello, world!"의 길이를 계산하고 출력합니다. 출력 결과는 다음과 같습니다.
The length of the string is 13.
strcat 함수
strcat 함수는 두 개의 문자열을 합치는 함수입니다. 아래는 strcat 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello, ";
char str2[] = "world!";
strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
위 예제에서는 strcat 함수를 사용하여 두 개의 문자열을 합치고 출력합니다. 출력 결과는 다음과 같습니다.
Hello, world!
strcpy 함수
strcpy 함수는 문자열을 복사하는 함수입니다. 아래는 strcpy 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello, ";
char str2[] = "world!";
strcpy(str1, str2);
printf("%s\n", str1);
return 0;
}
위 예제에서는 strcpy 함수를 사용하여 문자열을 복사하고 출력합니다. 출력 결과는 다음과 같습니다.
world!
strcmp 함수
strcmp 함수는 두 개의 문자열을 비교하는 함수입니다. 아래는 strcmp 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result < 0) {
printf("'%s' comes before '%s'.\n", str1, str2);
} else if (result > 0) {
printf("'%s' comes after '%s'.\n", str1, str2);
} else {
printf("'%s' is equal to '%s'.\n", str1, str2);
}
return 0;
}
위 예제에서는 strcmp 함수를 사용하여 두 개의 문자열을 비교하고 출력합니다. 출력 결과는 다음과 같습니다.
'hello' comes before 'world'.
strchr 함수
strchr 함수는 문자열에서 특정 문자의 첫 번째 발생 위치를 찾아주는 함수입니다. 아래는 strchr 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char *ptr = strchr(str, 'o');
if (ptr != NULL) {
printf("The first occurrence of 'o' is at position %ld.\n", ptr - str);
}
return 0;
}
위 예제에서는 strchr 함수를 사용하여 문자열에서 문자 'o'의 첫 번째 발생 위치를 찾고 출력합니다. 출력 결과는 다음과 같습니다.
The first occurrence of 'o' is at position 4.
strstr 함수
strstr 함수는 문자열에서 특정 문자열의 첫 번째 발생 위치를 찾아주는 함수입니다. 아래는 strstr 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char *ptr = strstr(str, "world");
if (ptr != NULL) {
printf("The first occurrence of 'world' is at position %ld.\n", ptr - str);
}
return 0;
}
위 예제에서는 strstr 함수를 사용하여 문자열에서 문자열 "world"의 첫 번째 발생 위치를 찾고 출력합니다. 출력 결과는 다음과 같습니다.
The first occurrence of 'world' is at position 7.
strtok 함수
strtok 함수는 문자열을 일정한 구분자(delimiter)를 기준으로 분리하는 함수입니다. 아래는 strtok 함수의 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "apple,banana,orange";
char *token = strtok(str, ",");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, ",");
}
return 0;
}
위 예제에서는 strtok 함수를 사용하여 문자열 "apple,banana,orange"을 쉼표로 구분하여 분리하고 출력합니다. 출력 결과는 다음과 같습니다.
apple
banana
orange
위와 같이 C 언어에서 제공하는 문자열 함수들은 다양한 기능을 제공하므로, 적절히 활용하면 문자열 처리를 효율적으로 할 수 있습니다.
'개발' 카테고리의 다른 글
[C++] int to string 형변환 방법 (0) | 2023.06.08 |
---|---|
[C++] string to int 형변환 방법 (0) | 2023.06.07 |
[C#, WPF] 계산기 만들기 (0) | 2023.06.05 |
[C#, wpf] 다운로더 만들기 (0) | 2023.06.04 |
[C#, WPF] 그리드 만들기 (0) | 2023.06.03 |