

Editは、テキストボックスです。
Editには、"12345"の半角文字列が入っています。
これを、C言語の文字列として取得しようとしました。
このときのソースコードは、次の通り。
--------
char *ptr1 = new char[Edit->Text.Length()+1]; //独自領域にセーブ
strcpy(ptr1, Edit->Text.c_str()); //ptr1にアドレスをコピー
--------
このstrcpyの行で、エラーが出てしまい、対処に困っています。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
E2034 'wchar_t *' 型は 'const char *' 型に変換できない
E2342 パラメータ '__src' は const char * 型として定義されているので wchar_t * は渡せない
--------
Edit->Textで取得した文字列を、"12345\0"といった具合で処理をしたいのですが、どのようにしたらいいのでしょうか?
追記
「C++Builder 2009」以前のバージョンでは、難なく取得できていた。
同じソースコードなのに、何故かエラーになる。
No.2ベストアンサー
- 回答日時:
> 処で、こういった変換が幾つもあって、処理に困っています。
> 参考になりそうなWebページがあれば、教えていただけないでしょうか?
Delphiのサイトが中心になりますが、
Delphi 2009 特集のUnicode関係の話
http://totonica.s41.xrea.com/doc/delphi_tiburon/
同サイトのリンク集
http://totonica.s41.xrea.com/doc/delphi_tiburon/ …
が、大変よくまとまっています。
あと、質問はEmbarcadero Discussion Forumsですると、返事がもらえる確率が高いと思います。
https://forums.codegear.com/category.jspa?catego …
No.1
- 回答日時:
C++Builder2009では、文字列型がAnsiStringからUnicodeStringに変わりました。
UnicodeString::c_str()は、wchar_t*を返します。
次のように変更すれば動きます。
wchar_t* ptr1 = new wchar_t[Edit->Text.Length()+1];
wcscpy(ptr1, Edit->Text.c_str());
ありがとうございます!
無事に、エラーを取り除けました。
処で、こういった変換が幾つもあって、処理に困っています。
参考になりそうなWebページがあれば、教えていただけないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
new charとnew char[N]の違いは?
-
char 文字列型 の表現範囲が-12...
-
std::stringクラスのc_str()で...
-
C言語にて構造体のメンバがNULL...
-
char型にint型の数値を代入する。
-
C言語のプログラムについてです
-
ポインタを使って回文かどうか...
-
SetWindowTextについて。
-
文字列内の数字削除
-
VBAのプログラムで、DIAG = 1# ...
-
C言語 配列の長さの上限
-
init関数の意味
-
c言語のポインタへの文字列入力...
-
C#で構造体の配列を持った構造...
-
プログラムによく出てくるst...
-
System.IO.Directory.GetFiles...
-
Integer変数をカラにしたいので...
-
win32APIのHeapAlloc()の使い方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
C言語のintとcharの違いってな...
-
C言語にて構造体のメンバがNULL...
-
fstream型オブジェクトを関数の...
-
char型にint型の数値を代入する。
-
char 文字列型 の表現範囲が-12...
-
文字列を比較するプログラムな...
-
ostringstreamではまりました
-
文字列内の数字削除
-
C言語のプログラムについてです
-
csvファイルをfscanfで読み込む...
-
エクセルのMID関数は、C言語では?
-
ポインタを使って回文かどうか...
-
C言語でポインターで詰まってい...
-
文字列の途中から途中までを抽出
-
new charとnew char[N]の違いは?
-
文字列str内の全ての数字を...
-
以下のようなプログラムを書い...
-
char AA[]{"全角文字"};から"全...
おすすめ情報