掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.7727

配列をsprintfで編集したい
投稿者---タマゴキング(2007/07/26 03:28:01)


お世話になります。

今回やりたいこととしては、掲題の通りになります。
環境はOSがredhat7.1、コンパイラはgcc3.2です。

ある配列hogeに、複数の文字列ポインタが入っています。
これを特定のフォーマットが入った定数hoge_formatに合わせて
sprintfで編集してやりたいと思っています。

以下にイメージを示します。

#define hoge_format %s,%s,%s

*hoge[] ← このポインタ配列に設定されている要素数が3だと仮定します。

sprintf(msg,hoge_format,hoge[0],hoge[1],hoge[2])

少し過去のログで、似たようなツリーがあって、ラッパ関数(?)を噛ませると出来そう・・・だと思いました。
ですが、ラッパ関数を調べてみても、どうすればラッパできるのか想像がつきません。
ご教授願えるとありがたいです。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:配列をsprintfで編集したい 7728 επιστημη 2007/07/26 05:58:48
<子記事> Re:配列をsprintfで編集したい 7730 あかま 2007/07/26 13:36:31


No.7728

Re:配列をsprintfで編集したい
投稿者---επιστημη(2007/07/26 05:58:48)
http://blogs.wankuma.com/episteme


char hoge_format[] = "%s,%s,%s";
sprintf(msg,hoge_format,hoge[0],hoge[1],hoge[2])

ではダメなんでしょか?
引数の個数が変わるのであれば vsprintf 使えば。



この投稿にコメントする

削除パスワード

No.7730

Re:配列をsprintfで編集したい
投稿者---あかま(2007/07/26 13:36:31)


>これを特定のフォーマットが入った定数hoge_formatに合わせて
>sprintfで編集してやりたいと思っています。
hoge_formatが定数ならsprintfに渡す引数の数は一定でしょう。
ラッパ関数でごにょごにょはちょっと違う気がします。

素直にfor文でぐるぐる回して、strcatあたりでつなげるのが正解な気がします。

strcpy(msg,hoge[0]);
for(i = 1;i < size;i++){
    strcat(msg,",");
    strcat(msg,hoge[i]);
}



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ