- ベストアンサー
テキストボックス内のテキストをchar配列へ
Microsoft Visual C++ 2010 Expressで勉強中なのですが、 テキストボックス内に this->textBox1->Text = L":100000004466FFFFFFFFFFFFFFFFFFFFFFFFFFFF"; このように文字列を入れているのですが、これを char cOrg[128]; この配列に入れるにはどのようにしたら良いのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 1>\Form1.h(344): error C2039: 'text' : 大文字小文字のミスくらい自力で解決してください。 > strcpy(cOrg,this->textBox1->text); #1と#2は合わせて使います。「strcpyを使え」は「strcpyでSystem::Stringからchar *に変換できる」ことを言った訳ではありません。
その他の回答 (2)
- D-Matsu
- ベストアンサー率45% (1080/2394)
> これだとエラーが出てしまうのですが・・・ 「エラーが出る」ときには必ず「どのようなエラーか」を示してください。 でないと的外れな回答を引くのはそちらです。 char配列に代入演算子で直接渡すことはできません。 ポインタで受けるかstrcpyしてください。 あとwchar_tではなくcharなら適切なのは方法2か4で、1のPtrToStringCharsではないと思いますが。 安全策なのはわざわざ新設された4でしょうね。
- D-Matsu
- ベストアンサー率45% (1080/2394)
ExpressならC++/CLIでしょうから、ここに書かれている通りにしましょう。 http://support.microsoft.com/kb/311259/ja 「CもしくはC++で可能な限り組む」のでない限りアンマネージは入れない方がいいと思いますが。
お礼
回答頂きありがとうございます。 char cOrg[128]; (中略) cAns = PtrToStringChars(textBox1->text); このようにやってみたのですが、これだとエラーが出てしまうのですが・・・ どのようにすれば代入できるのでしょうか?
補足
書き間違えましたので、訂正させて頂きます。 char cOrg[128]; (中略) cOrg = PtrToStringChars(textBox1->text);
お礼
回答頂きありがとうございます。strcpyを使ってこれをやってみようとおもっているのですが、 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string> (中略) char cOrg[128],*p; (中略) strcpy(cOrg,this->textBox1->text); このようにすると、 1>\Form1.h(344): error C2039: 'text' : 'System::Windows::Forms::TextBox' のメンバーではありません。 1> c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.0\system.windows.forms.dll : 'System::Windows::Forms::TextBox' の宣言を確認してください。 このようなエラーが出てくるのですが、どのように解決すればよいでしょうか?