• ベストアンサー

テキストボックス内のテキストをchar配列へ

Microsoft Visual C++ 2010 Expressで勉強中なのですが、 テキストボックス内に this->textBox1->Text = L":100000004466FFFFFFFFFFFFFFFFFFFFFFFFFFFF"; このように文字列を入れているのですが、これを char cOrg[128]; この配列に入れるにはどのようにしたら良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.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)
回答No.2

> これだとエラーが出てしまうのですが・・・ 「エラーが出る」ときには必ず「どのようなエラーか」を示してください。 でないと的外れな回答を引くのはそちらです。 char配列に代入演算子で直接渡すことはできません。 ポインタで受けるかstrcpyしてください。 あとwchar_tではなくcharなら適切なのは方法2か4で、1のPtrToStringCharsではないと思いますが。 安全策なのはわざわざ新設された4でしょうね。

techhouse
質問者

お礼

回答頂きありがとうございます。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' の宣言を確認してください。 このようなエラーが出てくるのですが、どのように解決すればよいでしょうか?

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

ExpressならC++/CLIでしょうから、ここに書かれている通りにしましょう。 http://support.microsoft.com/kb/311259/ja 「CもしくはC++で可能な限り組む」のでない限りアンマネージは入れない方がいいと思いますが。

techhouse
質問者

お礼

回答頂きありがとうございます。 char cOrg[128]; (中略) cAns = PtrToStringChars(textBox1->text); このようにやってみたのですが、これだとエラーが出てしまうのですが・・・ どのようにすれば代入できるのでしょうか?

techhouse
質問者

補足

書き間違えましたので、訂正させて頂きます。 char cOrg[128]; (中略) cOrg = PtrToStringChars(textBox1->text);

関連するQ&A