【Windowsフォーム】charをStringに変換する方法【C/C++】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【Windowsフォーム】charをStringに変換する方法【C/C++】

2015-03-08 18:23

    DXライブラリでテキストボックスを実装するのが面倒でWindowsフォームに移行したわけですが
    テキストボックスやらラベルやらのテキスト(TextBox1->TextやLabel1->Text)に使われてるのがString型だったんです。
    調べるとUnicode文字列が関係してるらしいです

    そして
    String^ str;
    char cha[256]="hoge";
    str=cha;
    こうできないのです。(cha=strも同じく)
    なにが困るかというとchar型を利用する関数使ってもStringに変換できないので
    String型に関する関数を学ばなくてはいけない ということです。

    ということで変換できないか調べました。長い前置き終わりです。


    String→char
    こちらは簡単。
    C++だけをいじってる人にはほんの少し難しいかもしれません。

    • String^ str="hoge";
    • char cha[256];
    • sprintf_s(cha, 256, "%s", str);

    これで代入できます。
    sprintf_sについての説明は割愛します。


    char→String
    こちらは見慣れない関数が出てきます。
    • char cha[256]="hoge";
    • String^ str;
    • str = gcnew String(cha);
    これで代入できます。
    文字列の連結はString用関数にもありますが、面倒ならstrcpyなりstrcatで連結してからStringに変換すると楽かもしれません。



    私はgcnewに関しては全く理解していないまま使用しています。(面倒なので)

    実は調べた過程で「有料版を購入しないと使えない、char→String用関数」なんてのもありました。
    いやでも使ってるのExpressなんでね・・・
    そんなこと考えながら調べた結果です。皆様の何かの助けになれば幸いです。

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。