- 1 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:37:43 ]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。
- 810 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 22:07:43 ]
- イチイチ中身書くしかない
- 811 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:25:47 ]
- C++0x では default キーワードでデフォルト実装を作ってくれるそうです。
- 812 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:26:25 ]
- handle-bodyイディオムで書いて、handleの代入演算子をprotectedなりにすればどう?
- 813 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:09:30 ]
- バイナリとしての0x00をchar配列に格納したいんですが、終端文字として認識されてしまいます。
こういう時ってどうすればいいのでしょうか?? ご教示いただけると幸いです。
- 814 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:16:56 ]
- もしかしてstrcpyとか使ってるのか?
- 815 名前:デフォルトの名無しさん [2008/05/17(土) 01:21:39 ]
- レスどもです。
いえ、const char [] 型に0x00を含む文字列を格納して、cout とかで出力しようとすると0x00以降が出力されないんです。
- 816 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:22:37 ]
- 考えるだけでも恐ろしい
- 817 名前:デフォルトの名無しさん [2008/05/17(土) 01:22:59 ]
- それは当たり前 仕様 0は文末というのが原則です。
- 818 名前:デフォルトの名無しさん [2008/05/17(土) 01:24:21 ]
- 出力させたいんだったら、string使えば出来るはず。 こっちはサイズまではちゃんと出力したと思う。
たとえばstr.resize(10000,'\0'); cout<<str;とする。
- 819 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:24:53 ]
- とすると、バイナリとしての0x00を途中に含むchar文字列を作りたいんですが、無理なんでしょうか??
- 820 名前:デフォルトの名無しさん [2008/05/17(土) 01:25:58 ]
- 0を含むchar配列はできるよ でもstrlenとかは間違える 自分で長さを管理すればよい。
- 821 名前:デフォルトの名無しさん [2008/05/17(土) 01:27:56 ]
- たとええばchar配列で0を含まないならstrcpy、strcmpなどを使い、
0を含むなら長さを自分で指定するmemcpyやmemcmpを使う。
- 822 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:28:55 ]
- いや作れるよ
char配列の内容がNTCSであることを仮定している関数・APIに NTCSでないchar配列を突っ込んでいることが間違いなだけ
- 823 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:47:42 ]
- なるほど!
0x00を入れると格納はされているけど出力できていなかったということですね。 長さを指定したら出力できました。 レス下さった方々ありがとうございましたm(_ _)m
|

|