문자열을 합치는 함수를 찾습니다.

sadrove의 이미지

char buf1[] = "korea", char buf2[] = "help" 인 배열이 두개 있습니다.

buf1 = buf1 + buf2 의 역활을 하는 함수가 궁금합니다...

즉, 결과가 buf1에 "koreahelp" 가 되게요...

예전에 문득 본 것같은데..잘 생각이..^^;;

불량청년의 이미지

strcat()을 말씀하시는건 아닌지요?

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!

mach337의 이미지

strcat

indizarm의 이미지

strcat()[/url]

What a Cool Days!!!

sadrove의 이미지

넵..감사합니다..

Tony의 이미지

헉!!!

char buf1[] = "korea"; char buf2[] = "help";

이 두개를 합치는데 strcat을 쓰면 무슨 큰일을 내려고 주저하지않고
strcat을 알려드립니까? 큰일나욧!! 메모리깨지고 난리 나요....

riot의 이미지

man malloc
man free
man strcat

mach337의 이미지

Tony wrote:
헉!!!

char buf1[] = "korea"; char buf2[] = "help";

이 두개를 합치는데 strcat을 쓰면 무슨 큰일을 내려고 주저하지않고
strcat을 알려드립니까? 큰일나욧!! 메모리깨지고 난리 나요....


웃...!!!! :shock: 생각해보니... 그렇군요... :oops:
먼저 malloc 이든 아니면 char buf[100]={0}; 정도로 적당하게 메모리를 잡고....
strcat (buf, buf1);
strcat (buf, buf2);
로 두어번은 해야 겠군요.... :?
whitekid의 이미지

char buf1[] = "korea"; 
char buf2[] = "help"; 
char * p;

p = callloc( strlen(buf1) + strlen(buf2) + 2, sizeof(char) );

strncat( p, buf1, strlen(buf1) );
strncat( p, buf2, strlen(buf2) );
......
free(p);

C 안한지 넘 오래되서 가물가물.. .맞나?. .^^

What do you want to eat?

kr0103s2002의 이미지

memcpy 로도 가능하다고 생각되네요.

예를 들어서
------------------------------------

char buf1[] = "korea";
char buf2[] = "help";
char * p;

memcpy(p, buf1, strlen(buf1));
memcpy(strlen(p)+1, buf2, strlen(buf2));

------------------------------------

저도 C 안한지 꽤 되서 이 정도 밖에는 기억이 않나는 군요.(철자법이 맞는지 모르겠네요 T T)

Good Luck!!!! :wink:

Good Luck!

monpetit의 이미지

kr0103s2002 wrote:
------------------------------------

char buf1[] = "korea";
char buf2[] = "help";
char * p;

memcpy(p, buf1, strlen(buf1));
memcpy(strlen(p)+1, buf2, strlen(buf2));

------------------------------------

저도 C 안한지 꽤 되서 이 정도 밖에는 기억이 않나는 군요.(철자법이 맞는지 모르겠네요 T T)

Good Luck!!!! :wink:


여기에서도 당연히 malloc/calloc 과 free를 사용해야겠죠.
게다가
memcpy(strlen(p)+1, buf2, strlen(buf2));은 잘못되었습니다.
memcpy(p+strlen(p), buf2, strlen(buf2));
이 정도가 맞겠네요.
purewell의 이미지

char* pBuffer;
pBuffer = malloc(strlen(buf1)+strlen(buf2)+1);
sprintf(pBuffer, "%s%s", buf1, buf2);

C++을 이용한다면...

#include <string>
using std::string;
...
string strBuffer = buf1;
strBuffer += buf2;

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.