- 締切済み
18バイトサイズに全て1を格納する方法
お世話になります。 18バイトに数字の1を全て入れる場合はどうしたいいのでしょうか? char * buf; buf = new char[18]; bufの入れる全てに数字の1を格納するにはどうしたらいいのでしょうか? よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- 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';』 ・以上。どれでも出来ますが…。
- 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のどれかを使います。
質問者
お礼
回答ありがとうございます。 検討してみます。
お礼
for文で 出来ました。 ありがとうございました。