よろしくお願いします。
環境はVisualC++2005Expressです。
array<char>^ C = gcnew array<char>(1);
C[0] = 'A';
System::Text::StringBuilder ^sp = gcnew System::Text::StirngBuilder();
sp->AppendLine( C[0].ToString() );
MessageBox::Show(sb->ToString(),L("test") );
のデータをMessagbox::showで表示させると文字コードが表示されます。
格納した文字を表示させるにはどうするのでしょうか?
配列の宣言で長い文字列を宣言する方法は
string^ではないのでしょうか?
array<string^>^ C = gcnew array<string^>(1);
お願いします。
Char型とchar型は違います。
C++/CLIではStringクラスはUnicodeで文字列を保持しています。
ですのでChar型(=wchar_t型)を基本的に扱うほうが普通でしょう。
よって、
Char c = L'A';
String^ s = c.ToString();
とすると文字コードではなくなります。
char型のままであれば、一度Char型にキャストすれば出来ます。
char c = 'A';
String^ s = ((Char)c).ToString();
>配列の宣言で長い文字列を宣言する方法は
>string^ではないのでしょうか?
は何をおっしゃっているのかよくわかりません。
C#とちがってstringというものはありませんので。
(STLのstd::stringならあるが、マネージドクラスではない)
回答ありがとうございます。
無事、文字を表示させることができました。
ありがとうございました。
>配列の宣言で長い文字列を宣言する方法は
>string^ではないのでしょうか?
>は何をおっしゃっているのかよくわかりません。
Char型の配列では、一文字の文字列しか使うことができません。
2文字、3文字以上の文字列を入れる配列のデータ型は
何になるのでしょうか?
CLIなどのHPで調べましたが、int型とChar型の配列しか載っておらず
見つけることができませんでした。
すいませんが、よろしくお願いします。
>2文字、3文字以上の文字列を入れる配列のデータ型は
でしたら
array<String^>^ でよいはず。
配列自体も可変であれば、List<String^>^ で。
Generic::List<String^>^ sl = gcnew Generic::List<String^>();
sl->Add(L"あいうえお");
sl->Add(L"かきくけこ");
何度も回答ありがとうございます。
基本的なことを丁寧に回答して頂いて、感謝しています。
また、何かありましたら、よろしくお願いします。
ありがとうございました。
解決時のチェックを入れるの忘れまして、チェックを入れさせて頂きます。
ツイート | ![]() |