복사 함수(memmove)를 이용해서 하는대 잘 안되서요 ;;;
글쓴이: hongtting / 작성시간: 목, 2007/04/26 - 10:33오후
func(char *str)
{
char *s = str;
char *c;
int n;
if(c=index(s,'['))
{
n = strlen(c+1)+1;
memmove(c+2, c+1, n);
*(c+1) = '/';
}
printf("%s\n", s);
return 0;
}
main()
{
func("[IP]");
return 0;
}
결과가 [/IP] 이렇게나와야 하는데 어디가 문제인지 잘 안되서 문의 드립니다^^
Forums:
if(c=index(s,'[')) 이게
if(c=index(s,'['))
이게 문제가 아닐까요?
if (c==index(s,'[')
될리가 없죠.
"[IP]" 는 문자열 literal 인데 이걸 그대로 사용해서 수정하면 안됩니다.
또한 만일 null 문자까지 꽉 들어찬 char 배열에 담을 경우 역시 '/' 을 위한 공간이 없게 되어서 문제를 일으킵니다.
댓글 달기