반응형
문자열에서 앞쪽의 공백과 뒤쪽의 공백을 제거하는 C언어 코드입니다.
ltrim(): 앞쪽(왼쪽)의 공백 제거
rtrim(): 뒤쪽(오른쪽)의 공백 제거
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void ltrim(char* str) {
int start = 0;
// 공백 제거 시작 위치 찾기
while (isspace(str[start])) {
start++;
}
// 문자열 복사하여 공백 제거
for (int i = start; i <= strlen(str); i++) {
str[i - start] = str[i];
}
}
void rtrim(char* str) {
int end = strlen(str) - 1;
// 공백 제거 끝 위치 찾기
while (end >= 0 && isspace(str[end])) {
end--;
}
// 끝에 널 종료 문자 추가하여 문자열의 끝 표시
str[end + 1] = '\0';
}
int main() {
char myString[] = " Hello, World! ";
char myString2[] = " Hello, World! ";
printf("Before ltrim: \"%s\"\n", myString);
ltrim(myString);
printf("After ltrim: \"%s\"\n", myString);
printf("Before rtrim: \"%s\"\n", myString2);
rtrim(myString2);
printf("After rtrim: \"%s\"\n", myString2);
return 0;
}
(Output)
Before rtrim: " Hello, World! "
After rtrim: " Hello, World!"
참고:
아래 링크에는, 문자열에서 양쪽 공백을 제거하는 trim() 함수도 볼 수 있습니다.
https://gonyzany.tistory.com/643
반응형
'C_C++' 카테고리의 다른 글
(C언어) qsort를 이용한 실수형 자료 정렬 (35) | 2023.12.01 |
---|---|
(C언어) XOR 비트 연산자를 이용한 암호화 복호화 (19) | 2023.11.27 |
(C언어) trim() 함수 구현: 문자열에서 양쪽 공백 제거하기 (1) | 2023.11.24 |
(C언어) Caesar (시저, 카이사르) 암호화 복호화 (1) | 2023.11.19 |
(C언어) 이진 탐색 트리(BTS, Binary Search Tree)에서 노드의 삽입 삭제 검색 (0) | 2023.11.08 |