프로그래밍 언어/C++
[C] 문자열에서 공백을 제거하는 함수
ShovelingLife
2023. 9. 5. 11:31
문자열 중앙에 있는 공백도 제거하는 함수가 필요해서 만들었다.
아래의 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;
}