トップページ > プログラム > 2014年10月10日 > PjwRa4Gs

書き込み順位&時間帯一覧

4 位/186 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001201000000000010106



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
266
C++相談室 part114

書き込みレス一覧

C++相談室 part114
224 :デフォルトの名無しさん[sage]:2014/10/10(金) 06:51:54.72 ID:PjwRa4Gs
constなstringをunsigned char* に型変換したいのですが、
どうやってもエラーします。どうすればよいでしょうか?
VS2013のC++です。
const string str = "12345";
unsigned char *p =(???) str.c_str();
C++相談室 part114
227 :デフォルトの名無しさん[sage]:2014/10/10(金) 07:18:48.12 ID:PjwRa4Gs
>>225
ありがとうございました。
reinterpret_castとかstatic_castとか、そういうのを使ってやるのかな
と思っていろいろ試したのですが、出来ませんでした。
>>226
constというのが良く分っていません。
C++相談室 part114
231 :デフォルトの名無しさん[sage]:2014/10/10(金) 07:47:36.25 ID:PjwRa4Gs
>>229
解説ありがとうございました。なんとなく理解できました。
結論としては、皆さんに教えていただいた方法でstringを
unsigned char*にキャストして使っても問題ないですか?
あるいは、unsigned charなstringは無いのでしょうか?
std::ustring と呼べばいいのかな。
C++相談室 part114
235 :デフォルトの名無しさん[sage]:2014/10/10(金) 09:01:00.88 ID:PjwRa4Gs
>>232>>233
unsigned char* を引数に取る関数にそのstringを渡す為です。
C++相談室 part114
266 :デフォルトの名無しさん[sage]:2014/10/10(金) 20:37:22.03 ID:PjwRa4Gs
unsigned char* のキャストで質問した者ですが、
また質問があります。
charの配列をstringに変換したい時には、

 char *p = "12345";

 string str(p);

で行けると思いますが、charの中に非ASCII文字が有る場合にも、char配列の全体を
stringにしたいのですが、以下のような場合、"123%" になってしまいました。

 char *p = "123\045";
 string str(p);

どうすれば、

 str = "123\045"

のような文字列が作れますか?
C++相談室 part114
273 :266[sage]:2014/10/10(金) 22:06:10.61 ID:PjwRa4Gs
みなさん有難うございました。
まだ完全には理解できていませんが、有る程度分ってきました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。