반응형
아래의 코드는 문자열에서 양쪽 공백을 제거하는 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!"
참고:
아래 링크에는 문자열에서 앞쪽과 뒤쪽의 공백을 제거하는 ltrim(), rtrim() 함수를 볼 수 있습니다.
https://gonyzany.tistory.com/644
반응형
'C_C++' 카테고리의 다른 글
(C언어) XOR 비트 연산자를 이용한 암호화 복호화 (19) | 2023.11.27 |
---|---|
(C언어) ltrim(), rtrim() 함수 구현: 문자열에서 앞쪽 뒤쪽 공백 제거 (1) | 2023.11.24 |
(C언어) Caesar (시저, 카이사르) 암호화 복호화 (1) | 2023.11.19 |
(C언어) 이진 탐색 트리(BTS, Binary Search Tree)에서 노드의 삽입 삭제 검색 (0) | 2023.11.08 |
(C언어) 연결 리스트(linked list)를 이용한 스택(stack) 구현하기 (0) | 2023.11.04 |