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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語 int temp = 0; if(isdigit(arr[i])){ temp=arr[i] 2 2022/03/27 01:44
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# 【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法 4 2023/05/09 15:08
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
OpenDialog1->FileNameについて
C言語・C++・C#
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
C-Builderで数値(数字)以外を入力出来ない様にしたい。
C言語・C++・C#
-
-
4
変数に代入してある数値を表示するには?
C言語・C++・C#
-
5
C++Builder リンカエラーとは?
C言語・C++・C#
-
6
StringGridで選択した箇所の文字色を変更するには
C言語・C++・C#
-
7
EDITコントロールで入力できる文字を制限するには?
C言語・C++・C#
-
8
エディットボックスの入力制限について
C言語・C++・C#
-
9
wsprintf関数の使い方について
C言語・C++・C#
-
10
C++ Builderで文字列をバイトにする方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
char*を初期化したいのですが
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
char 文字列型 の表現範囲が-12...
-
小数点入りの文字列をfloat型に...
-
コマンドライン引数
-
可変長構造体をファイルから読...
-
警告
-
C言語のプログラムについてです
-
C言語のintとcharの違いってな...
-
引数として二次元配列を利用す...
-
エクセルのMID関数は、C言語では?
-
new charとnew char[N]の違いは?
-
文字列の途中から途中までを抽出
-
CStringからchar*への型変換に...
-
WM_CHAR or WM_KEYDOWN の「wPa...
-
char *name1[4] とchar name2[]...
-
文字列の演算
-
C言語 strstrの実装
-
csvファイルをfscanfで読み込む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
char*を初期化したいのですが
-
CStringからchar*への型変換に...
-
C言語のintとcharの違いってな...
-
C言語にて構造体のメンバがNULL...
-
小数点入りの文字列をfloat型に...
-
strcat関数を自作したいです
-
C言語のプログラムについてです
-
const char* s1とただのchar s1...
-
DWORDとcharの変換
-
char型にint型の数値を代入する。
-
文字列の途中から途中までを抽出
-
new charとnew char[N]の違いは?
-
文字列内の数字削除
-
fgetc( )の戻り値はなぜ整数??
-
csvファイルをfscanfで読み込む...
-
char 文字列型 の表現範囲が-12...
-
fstream型オブジェクトを関数の...
-
エクセルのMID関数は、C言語では?
-
ポインタを使って回文かどうか...
-
ポインタ配列
おすすめ情報