• ベストアンサー

HWNDへの変換

度々すみません。 またしても型変換で困っています。 CStringの値をHWNDに変換するには どのようにすれば良いのでしょうか? 早く自分で解決できるようになりたいのですが、 他の問題もあったりしてなかなか…(爆)。 よろしくお願いします。

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

  • ベストアンサー
  • nakashi
  • ベストアンサー率51% (21/41)
回答No.1

/* ATOF.C: atof、atoi、atol の各関数を使って、 * 文字列として格納されている数を数値に変換します。 */ #include <stdlib.h> #include <stdio.h> void main( void ) { char *s; double x; int i; long l; s = " -2309.12E-15"; /* atof のテスト */ x = atof( s ); printf( "atof 関数のテスト: 文字列: %s\t浮動小数点値: %e\n", s, x ); s = "7.8912654773d210"; /* atof のテスト */ x = atof( s ); printf( "atof 関数のテスト: 文字列: %s\t浮動小数点値: %e\n", s, x ); s = " -9885 pigs"; /* atoi のテスト */ i = atoi( s ); printf( "atoi 関数のテスト: 文字列: %s\t\t整数値 : %d\n", s, i ); s = "98854 dollars"; /* atol のテスト */ l = atol( s ); printf( "atol 関数のテスト: 文字列: %s\tlong整数値 : %ld\n", s, l ); }

alfalfa-alpha
質問者

お礼

素早い回答ありがとうございます。 文字列内の値が16進数だったため、 nakashiさんに教えて頂いた関数を 使用できるよう修正し、無事正常に動作しました。 またしても助けていただき、助かりました。 ヒマを見つけて基本から勉強しなくちゃです(弱)。

関連するQ&A

  • CStringからchar*への型変換について教えてください。

    以前の質問に int型 → CString型/char型 がありましたが、 CString型をchar*型に変換する方法を 教えていただければありがたいです。 MSDNで「LPCTSTRキャスト」が説明されていましたが、 例が載ってないのでよくわかりませんでした。 よろしくお願いします。

  • WORD型をCString型に変換する方法

    WORD型をCString型に変換する方法について質問させていただきました。 WORD型の中身は整数値が入っておりその整数の値をCStringに変換する方法がわからなかったので質問させていただきました。 VC++2010を使用しており、困っています。どうかよろしくお願いします

  • 型変換について

    すみません、初歩的な質問だと思いますが、 よろしくお願いします。 LPSTR aaa = "test"; と現在なっているのですが、 "test"の後ろにm_hWndの値を入れたいのです。 そのため、 LPSTR aaa = "test" + (LPSTR)m_hWnd; のように記入したのですが、 (当たり前ですが)エラーになってしまいます。 エラーの内容は、 「error C2110: ポインタにポインタを加えようとしました。」 というものです。 エラーになってしまうのは分かっているのですが、 この解決方法が分かりません(初歩的だとは思うのですが…)。 伝わりにくい文章で恐縮ですが、 どなたかお分かりになる方(型?:笑)、よろしくお願いします。

  • MFCにて乱数

    CString time; p=rand()%20*1000+1; time.Format(_T("%d"),p/1000); にて変数pに乱数を代入し、画面出力します。 CString strp; strp.Format(_T("%d"), p/1000); にてpを型変換して、画面出力するのですが、双方のpの値が一致しません。 どうなってるのでしょうか?

  • 型変換の質問

    どうしても考えてもわからないので投稿します。 Q1.以下の3つの型変換処理を実行せよ ・型変換(1)(int⇒String) ・型変換(2)(int⇒Double) ・型変換(3)(String⇒int) の、問題なのですがどうしても出力できません。 どなたか教えてください。

  • 型の変換

    Request.QueryStringで、例えば2008/9/4 20:00みたいな値を取得して それをDBに書き込みたいのですが、「型の変換に失敗しました」というエラーがでてしまいます。 書き込みたい項目がdatatime型なので、CData()を使ってみたのですがうまくいきません。 こういう場合は、どうしたらいいのでしょう?

  • 暗黙の型変換をやめたい

    ASP.NET(C#2.0)からSQLServer2008R2のストアドプロシージャをコールする際、暗黙の型変換を使うとパフォーマンスが落ちるらしいので、全て明示的な型変換に修正したいと思っています。 MySQLをselectした値をリーダー(reader)に格納し、SQLServerにストアドコール時にパラメータ指定してinsertするのですが、何が暗黙的で何が明示的なのかわかりません。 下記は引数1にパラメータ、引数2にDBType(省略可)、引数3に値を指定しています。 [暗黙的かと思われるパラメータの渡し方] AddParameter("@パラメータ1", reader["値1"]); //char(2) AddParameter("@パラメータ2", DbType.string, reader["値2"].ToString()); //nvarchar(20) [明示的かと思われるパラメータの渡し方] AddParameter("@パラメータ3", DbType.DateTime, Convert.ToDateTime(reader["値3"])); //datetime AddParameter("@パラメータ4", DbType.Currency, (Convert.ToDecimal(reader["値4"])) * 100); //money 暗黙の型変換とは、引数3の型を指定しない場合に起こるという認識で合っていますでしょうか?

  • CString から LPCTSTRの型に変換

    visual studio 2013 VC++を使用していますが、WINDOWSの関数に渡すためにCString からLPCTSTRに変換する必要があります。実際にどのようにするのかわかりません。 例えば、以下のサンプルは他の質問コーナーの回答をアレンジしたものです CString str = _T("ABC"); int siz = str.GetLength()+1; LPCTSTR pszFName = new TCHAR[siz]; _tcscpy_s( pszFName, siz, str ); で変換するのですが LPCTSTRからwchar_t*へ変換できませんとエラーがでます _tcscpy_s()は使用できないのでしょうか

  • charからLPTSTRへの変換方法

    リストコントロールにchar型の変数の値を数値として表示させたいのですが、charからLPTSTRへの洗練された変換方法がよくわからないです。 char tempChar; CString tempString; tempString.Format("%s", tempChar); LPTSTR lpsz = new TCHAR[tempString.GetLength()+1]; _tcscpy(lpsz, tempString); こんなプログラムを考えてみたのですが、汚いような気がします。もっと簡単で洗練された変換方法はないのでしょうか?

  • 数値への型変換について

    画像のBMPファイルを編集するため、以下の通りにファイルの読み込みをしたのですが、$bfSizeの値が文字列として定義されてしまい、数値に変換できません。 ----------------------- $fp=fopen('sample.bmp','r+b'); $bfType = fread($fp, 2); $bfSize = fread($fp, 4); ----------------------- ここで問題になっているのは、$bfSizeの型です。 echo bin2hex($bfSize); とすると 36040100 と、数値は入力されているのですが、var_dump($bfSize)で表示すると string(4) "6』『 " (』『 は半角文字です) となります。 これをsettypeやキャストで型変換すると、1バイト目の36が6に変換されてしまいます。 これを 数値として66614として変換したいのですが、どのようにしたらよいでしょうか? よろしくお願いします 環境は PHP Version => 5.2.6 Windows XP Pro です。

    • ベストアンサー
    • PHP

専門家に質問してみよう