fgets으로 텍스트 파일에서 한줄을 읽으면 '\n'같은 문자까지도 읽어서 문자열 처리를 어렵게 하거든요? 문자열에서 저런거 없앨수 있는 함수같은거 있나요? 특정 문자를 제거하는 함수같은거요.. 또 예를들면 문자열 adfads dasfdas aaa같은 문자열 중에서 만약 맨뒤의 aaa뒤에 공백이 여러개 있으면 그 부분의 공백만 제거할수 있는 방법은 없을까요?
아래 펑션들을 이용해서 구현하세요..
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, int n);
char *strcat(char *dst, const char *src);
char *strncat(char *dst, const char *src, size_t n);
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
char *strcpy(char *dst, const char *src);
char *strncpy(char *dst, const char *src, size_t n);
size_t strcspn(const char *s1, const char *s2);
size_t strspn(const char *s1, const char *s2);
char *strdup(const char *s1);
size_t strlen(const char *s);
char *strpbrk(const char *s1, const char *s2);
char *strstr(const char *s1, const char *s2);
char *strtok(char *s1, const char *s2);
char *strtok_r(char *s1, const char *s2, char **lasts);
char *trim(char *s) { register char *p, *q, *r; for (p = s; *p && ' '==*p; p++) /*NULL*/; for (q = p, r = p; *q; q++) { if (' ' != *q) { r = q; } } if ('\0' != *r) { if (' ' == *(r+1)) { *(r+1) = '\0'; } } return p; }
자유롭게 구현해 보세요..
아래 펑션들을 이용해서 구현하세요..
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, int n);
char *strcat(char *dst, const char *src);
char *strncat(char *dst, const char *src, size_t n);
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
char *strcpy(char *dst, const char *src);
char *strncpy(char *dst, const char *src, size_t n);
size_t strcspn(const char *s1, const char *s2);
size_t strspn(const char *s1, const char *s2);
char *strdup(const char *s1);
size_t strlen(const char *s);
char *strpbrk(const char *s1, const char *s2);
char *strstr(const char *s1, const char *s2);
char *strtok(char *s1, const char *s2);
char *strtok_r(char *s1, const char *s2, char **lasts);
[code:1]char *trim(char *s)
char *trim(char *s) { register char *p, *q, *r; for (p = s; *p && ' '==*p; p++) /*NULL*/; for (q = p, r = p; *q; q++) { if (' ' != *q) { r = q; } } if ('\0' != *r) { if (' ' == *(r+1)) { *(r+1) = '\0'; } } return p; }