- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:String型をchar型配列にしたい)
String型をchar型配列に変換する方法
このQ&Aのポイント
- VC++2005ExpressEdition + PlatformSDKを使用しています。
- String型をchar型配列に変換する方法について調査しましたが、エラーが発生しています。
- String型からchar型配列への変換方法を教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>gethostbyname でアドレスを返したい Dns::GetHostByName スタティックメソッドを使えば良いです。 http://msdn2.microsoft.com/ja-jp/library/system.net.dns.gethostbyname.aspx
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
ToCharArray は、Char (wchar_t[]) を返しますからダメですよね。 GetBytes を使うと、Byte (unsigned char[]) を返しますから なんとかなるんじゃないでしょうか 一般的に、System::String は、ユニコードですからchar に変換する意味がよくわかりません。 どっちにしても、 char chr[5] に、 chr = とはできないと思います。
- galluda
- ベストアンサー率35% (440/1242)
回答No.1
がると申します。 ちとWinodows系は不得手なので恐縮ではありますが。 UNIX系ですと、c_str()というメソッドを使って、ポインタの取得が出来ます。 ですので、例えば string str = new string("test"); char chr[5]; memset(chr, '\0', sizeof(chr)); memcpy(chr, str.c_str(), str.size()); という方法がつかえます(charのサイズだのなんだのエラーチェック周り思いっきり割愛しまくってますが)。
補足
コメントありがとうございます. テキストボックスにはホスト名が入っていると仮定していて,そのホスト名に対して gethostbyname でアドレスを返したいと思っています(それを利用してソケットを使いたい,というのが目的です). > struct hostent FAR * gethostbyname (const char FAR * name); なので,Stringをcharに変換できれば,と思っています.