C에서 문자열을 계속 연결시키고 싶습니다. 어떻게 해야 하나요?
글쓴이: jagalchee / 작성시간: 금, 2004/04/09 - 2:52오후
예를 들어,
char *a;
char *b;
...
...
이렇게 있다고 할때, a에는 가장 처음에 'abc' 라는걸 가리키고 잇다고 하죠.
근데 b에는 처음에 'def' 가 저장되어 있습니다. 그리고 a와 b를 연결시켜서 이걸 a가 가리키도록 하면, a는 이제 'abcdef'를 가리키게 됩니다. 이 후에 b는 다시 'ghijklmn'을 가리키게 되고, 다시 a와 b를 연결시켜서, a가 'abcdefghijklmn'을 가리키게 하고..이것을 계속 반복하고 싶습니다. 어떤 함수를 이용해서, 어떤 방법을 이용하면 될런지가 잘 감이 안오네요. 한번만 a와b를 붙이는건 알겠는데, 계속해서 이런 작업을 할려면 어쨋든 루프문 안에서 넣어야 할 터인데..b는 그렇다 쳐도, a에 할당한 메모리 공간이 계속 늘어나니까 문제가 될거 같습니다..(a를 엄청나게 크게 malloc하시라고 하면 어쩔 수 없지만요. ^^)
아시는 분께서는 답변 꼭 부탁드립니다.
Forums:
realloc
realloc이라는것도 있어요. 동적으로 계속 메모리공간을 늘리면서 확보해줘여.
자세한건 man realloc해 보세요.
☆
realloc(3)? ;-)ps. 늦었군요 :oops:
realloc(3)? ;-)
ps. 늦었군요 :oops:
----
Let's shut up and code.
Re: C에서 문자열을 계속 연결시키고 싶습니다. 어떻게 해야 하
realloc을 사용하시면 됩니다만 성능상의 문제는 여전히 남아있을테고
제가볼땐 큐를 구현하시면 될듯 합니다. 혹 삭제와 수정과 같은 연산이
필요하시면 단일 연결리스트도 편할것 같네요.
댓글 달기