문자열 중앙에 있는 공백도 제거하는 함수가 필요해서 만들었다.
아래의 DeleteSpace함수는 인수로 받는 문자열에서 문자열에서 앞, 뒤, 가운데에 있는 모든 공백을 제거해서 제거된 문자열을 반환하는 함수다.
사용법:
char *str = DeleteSpace("공백이 있는 문자열");
char str[] = DeleteSpace("공백이 있는 문자열");
#include <stdio.h>
#include <string.h>
char* DeleteSpace(char s[])
{
char* str = (char*)malloc(sizeof(s));
int i, k = 0;
for (i = 0; i < strlen(s); i++)
if (s[i] != ' ') str[k++] = s[i];
str[k] = '\0';
return str;
}
int main(void)
{
char* s[] = {
" ABC DEF GH ",
"가 나 다 라마 "
};
printf("%s\n", DeleteSpace(s[0]));
printf("%s\n", DeleteSpace(s[1]));
printf("%s\n", DeleteSpace(" ABC DEF "));
return 0;
}
// 다음 코드는 문자열에서 특정 문자를 삭제하는 프로그램이다
#include <stdio.h>
#include <string.h>
char* DeleteChar(char s[], char ch)
{
char* str = (char*)malloc(sizeof(s));
int i, k = 0;
for (i = 0; i < strlen(s); i++)
if (s[i] != ch) str[k++] = s[i];
str[k] = '\0';
return str;
}
int main(void)
{
char s[] = "ABCDEFGH";
printf("%s\n", DeleteChar(s, 'E')); // 문자열 s에서 'E' 문자를 삭제한다.
return 0;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C++] min max 함수 (algorithm 라이브러리) (0) | 2023.09.06 |
---|---|
[C] min max 매크로함수 (0) | 2023.09.06 |
[C] 재귀함수(Recursive/리쿼시브)의 개념과 공부하는 이유 (0) | 2023.09.05 |
[C++] 공백 포함 문자열 입력받기 (0) | 2023.09.04 |
[C] 공백 포함 문자열 입력 받기 (scanf, gets, fgets) (0) | 2023.09.04 |