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; }
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
자유롭게 구현해 보세요..
아래 펑션들을 이용해서 구현하세요..
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)
댓글 달기