• 締切済み

18バイトサイズに全て1を格納する方法

お世話になります。 18バイトに数字の1を全て入れる場合はどうしたいいのでしょうか? char * buf; buf = new char[18]; bufの入れる全てに数字の1を格納するにはどうしたらいいのでしょうか? よろしくお願い致します。

みんなの回答

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.5

Ao.2です。 おっとそうでしたか。 >Ano.4 大変失礼しました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

少なくとも ISO/IEC 14882-1998 において配列を new しつつ初期化ってのはできないんですけど>#2 memset なり自分でループするなり fill なりを使うしかないわけですが, そもそもなんで 18バイトとるのにわざわざ new する?

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★まとめ(3パターンは最低ありそうですね) ・『memset( buf, 18, '1' );』 ・『FillMemory( buf, 18, '1' );』 ・『for(int i=0;i<18;i++)buf[i]='1';』 ・以上。どれでも出来ますが…。

the-ai
質問者

お礼

for文で 出来ました。 ありがとうございました。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

単純に buf = new char[18]{'1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'}; ではダメなんでしょうか? プログラミングのお作法的にはお行儀が悪いですが。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

std::memset, std::fill, std::fill_nのどれかを使います。

the-ai
質問者

お礼

回答ありがとうございます。 検討してみます。

関連するQ&A