文字の連結について – プログラミング – Home

通知
すべてクリア

[解決済] 文字の連結について


ADG
 ADG
(@ADG)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

質問です。
buff[n]に格納されている文字とbuff[n+1]に格納されている文字を
連結したいのですが、できません。
strcpy関数を使おうとしていますが
strcpy(buff[n],buff[n+1])ではだめなのでしょうか。
お答えよろしくお願いします。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

buffの型は何ですか?

文字を連結する,ということは(少なくともCでは)不可能です。
文字列を連結するのであれば,strcatという標準関数が存在しますが……。


返信引用
ADG
 ADG
(@ADG)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

あ、すみません。
文字列を連結したいです。
buffの型はcharです。
お願いします。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

char buff[十分な領域が確保されていると仮定];

だったら、

> buff[n]に格納されている文字とbuff[n+1]に格納されている
> 文字を連結したいのですが、できません。
この問いに対する答は「既に連結されているから」。

私からADGさんへ質問。「文字と文字列の違いは解ってますよね?」

buff[n]とbuff[n+1]から成る新しい文字列を作りたいなら、

char buff2[十分なサイズを用意する];
sprintf( buff2, %c%c, buff[n], buff[n+1] );

でいいでしょう。


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

buff が『char*の配列』なのではないかと予測。


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

YuOさんのですでに答になっていると思いますが


返信引用
からす
 からす
(@からす)
ゲスト
結合: 21年前
投稿: 1
 

memmove( buff + n, buff + n + 1, num );

はずしてたらごめんなさい。


返信引用
ぶんぼーぐ
 ぶんぼーぐ
(@ぶんぼーぐ)
ゲスト
結合: 21年前
投稿: 1
 

たぶん~
char *buf[] ~ { ABC,DEF,GHI,JKL };
int n;
char out_str[12];
/* DEFとGHIを結合する */  
sprintf(out_str,%s%s,buf[1],buf[2]);
かなあ


返信引用
blackwind
 blackwind
(@blackwind)
ゲスト
結合: 22年前
投稿: 18
 

> たぶん~
> char *buf[] ~ { ABC,DEF,GHI,JKL };
> int n;
> char out_str[12];
> /* DEFとGHIを結合する */  
> sprintf(out_str,%s%s,buf[1],buf[2]);
> かなあ

int n;
を使用してませんが。。。^^;


返信引用
ADG
 ADG
(@ADG)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

tibさんので、できました。
ありがとうございました。

> 私からADGさんへ質問。「文字と文字列の違いは解ってますよね?」

文字は1文字で文字列は単語って解釈してるんですけど。。。
自信ないです。

他のかたもアドバイスありがとうございました。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

#include <iostream> // cout
#include <string> // string
#include <cstring> // strcpy

int main() {
char* buf[2] = { hello,, world };
char result[32];
std::strcpy(result, (std::string(buf[0]) + buf[1]).c_str());
std::cout << '[' << result << ']' << std::endl;
return 0;
}

とか。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

> > 私からADGさんへ質問。「文字と文字列の違いは解ってますよね?」
> 文字は1文字で文字列は単語って解釈してるんですけど。。。
例えば、「私」を意味する「I」という英単語があります。
これは1文字だから文字ですか? 辞書に載ってる英単語だから文字列ですか?

「'I'なら文字、Iなら文字列」は正しいけど私が期待する答とは違うんだなぁ。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました