C言語で、execl(可変調引数の関数)に、配列の要素を一度に全て渡したいのですがどのようにすれば良いか分かりません。 具体的には、

C言語関連71閲覧

ベストアンサー

0

しかしながら、この超絶技巧のようなことを考える前に、実際上何をしたいのかをよく考えたほうが良い気がします。 長さが不定の配列を渡したいだけなのであれば、「配列の最後の要素に終わりの印を入れて、配列の最初を指すポインタを渡すようにする」か、「配列の要素数と配列の最初を指すポインタ」を渡すようにすればよさそうです。

ThanksImg質問者からのお礼コメント

丁寧にお答えいただけて嬉しかったです。具体例までありがとうございました。

お礼日時:5/24 22:36

その他の回答(2件)

0

それは「やりたいこと」に対して「適切な解法」ですか? 私には可変個引数にする必要を見出せませんが?? ポインタ(この場合はbuf)をひとつ渡せば、あるいはポインタと「処理の対象となる要素数」を渡せばいいだけでは?

0

出来ないような気がしますが・・・ 配列の最後に NULL を付加したものを作って、 execv 呼べばいいだけな気がしますが・・・