冬物クリーニング最大49%OFFはコチラ

タイトルの日本語が間違っていたらすみません。。

*x="AB"

*y="CD"
をstring.hを使わずに連結させたものを新しい*strなどに入れることはできますか??(@_@)

教えて!goo グレード

A 回答 (4件)

// 余裕のある文字列を strに与えておく


char *str = " ";
char *p = str, *w;
for ( w = x; *w != NULL ; w++ ){
*p = *w;
p++;
}
w = y;
while( *w != NULL ) {
*p = *w;
p++;
w++;
}
といった具合でしょう
    • good
    • 0
この回答へのお礼

ありがとうございます!
出来ました(^_^)

お礼日時:2006/11/11 15:56

strcatを使うのが一番だと思いますが、代用するなら


char *strcat(char *s1,const char *s2)
{
char *p = s1;
while(*s1) s1++; /*文字列終端まで持ってくる(TABがつかえねぇ~)*/
while(*s1++ = *s2++) /*s1の後ろからs2の中身を代入*/
;
return(p);
}

...とあってるかどうかわかりませんがこんな感じですかねぇ。
(ちなみにs1の後ろにs2がつきます、はい)
    • good
    • 1
この回答へのお礼

回答ありがとうございます!

お礼日時:2006/11/11 15:57

> string.hを使わずに連結させたものを



ということはstdio.hなら使っても良いのですね。

#include <stdio.h>

int main(void)
{
 char *x[1], *y[1];
 char z[100];
 char *str[1];

 *x = "AB";
 *y = "CD";
 *str = z;
 sprintf(*str, "%s%s", *x, *y);
 return 0;
}

でどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2006/11/11 15:57

#1の方が回答を書いてますので、その通りなのですが、


通常は、string.hを使用する方が簡単です。
私としては、どうしてstring.hを使いたくないのかということに、非常に興味があります。
差し支えなければ、このような質問をされた理由を教えていただけませんでしょうか。
    • good
    • 0
この回答へのお礼

参考書ではすべてstring.hを使っているものしか載っていなかったので気になっただけです(>_<)
すみません(^_^;)

お礼日時:2006/11/11 15:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング