C_C++

(C언어) trim() 함수 구현: 문자열에서 양쪽 공백 제거하기

고니자니 2023. 11. 24. 08:17
반응형

아래의 코드는 문자열에서 양쪽 공백을 제거하는 trim() 함수를 구현한 것입니다.

 

C언어 코드

#include <stdio.h>
#include <string.h>
#include <ctype.h>

void trim(char* str) {
    int start = 0, end = strlen(str) - 1;

    // 공백 제거 시작 위치 찾기
    while (isspace(str[start])) {
        start++;
    }

    // 공백 제거 끝 위치 찾기
    while (end > start && isspace(str[end])) {
        end--;
    }

    // 문자열 복사하여 공백 제거
    for (int i = start; i <= end; i++) {
        str[i - start] = str[i];
    }

    // 새로운 문자열 끝에 널 종료 문자 추가
    str[end - start + 1] = '\0';
}

int main() 
{
    char myString[] = "   Hello, World!   ";

    printf("Before trimming: \"%s\"\n", myString);

    trim(myString);

    printf("After trimming: \"%s\"\n", myString);

    return 0;
}

(Output)

Before trimming: "   Hello, World!   "
After trimming: "Hello, World!"

 

(C언어) trim() 함수 구현: 문자열에서 양쪽 공백 제거하기

 

 


참고:

아래 링크에는 문자열에서 앞쪽과 뒤쪽의 공백을 제거하는 ltrim(), rtrim() 함수를 볼 수 있습니다.

https://gonyzany.tistory.com/644

 

(C언어) ltrim(), rtrim() 함수 구현: 문자열에서 앞쪽 뒤쪽 공백 제거

문자열에서 앞쪽의 공백과 뒤쪽의 공백을 제거하는 C언어 코드입니다. ltrim(): 앞쪽(왼쪽)의 공백 제거 rtrim(): 뒤쪽(오른쪽)의 공백 제거 #include #include #include void ltrim(char* str) { int start = 0; // 공백

gonyzany.tistory.com

 

반응형