
開発環境:Visual c++ 2008 Express Edion
OS:Win XP Pro
次のエラーが表示されていて解決できません。
エラー内容は
1>d:\vc_source\dump\dump\Form1.h(448) : error C3861: 'CString': 識別子が見つかりませんでした
です。
ちなみにinclude文は以下です。
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <string>
#include <cstring>
やりたいことは
String型からCString型を経由して、TCHAR型へ変換することです。またはその逆方法の変換です。そのためにCString型は必要になるのですが、そこでコンパイルエラーになっています。
知っているかがおりましたら、教えて下さい。
No.2ベストアンサー
- 回答日時:
逆はStringクラスのコンストラクタで終わり。
TCHAR str[] = TEXT("ほげ");
String^ s = gcnew String(str);
IntPtr p = System::Runtime::InteropServices::Marshal::StringToHGlobalAuto(s);
const TCHAR* pstr = static_cast<const TCHAR*>(p.ToPointer());
/*
使わなくなったところで
System::Runtime::InteropServices::Marshal::FreeHGlobal(p);
は必要。
*/
VS2008なら
http://msdn.microsoft.com/ja-jp/library/bb384865 …
が有効かも。
回答いただきありがとうございます。
やりたかったことは
OpenFileDialog,SaveFileDialogのFileNameプロパテイ(String型)からchar*へ変換して、
open,read,close,fopen,fputs,fcloseなどのcの関数を使いファイルの内容を16進数でダンプすることです。
このダンプリストの機能は以下の3つである。
1.左側のアドレス部の出力の有無の指定、
2.右側の文字データ部の出力の有無の指定
3.中の16進数のダンプ(通常は1行に16個であるが)これを可変に指定できる(例えば300個とか)
関数とかメソッドを使用するに、引数の型によって、データを変換しなければので、質問したのです。
回答をいただきありがとうございます。
No.3
- 回答日時:
cstringはCStringのヘッダではありません。
C++で、C言語のstring.hで宣言されている関数を使うためにインクルードするヘッダです。
VC++は初心者なので、CString型を使用するには<cstring>ヘッダーファイルをインクルードすればよいと勝手に解釈して、<cstring>ヘッダーファイルをインクルードしたわけです。
回答をいただきありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中学のクラス数
-
UMLのクラス図はmain()も含むん...
-
eclipse でクラスに色
-
僕の出身中学校は200人同級生が...
-
IPアドレスのクラスAを取得して...
-
Cstring(日本語含む)をcharに...
-
packageとimport の違いって?
-
CListCtrlクラスに初期化する関...
-
サーブレットを始めようとした...
-
明示的なserialVersionUIDの意...
-
main()を持つクラスが2つ以上...
-
VB.netのコンテナークラスとは...
-
重複エラーを解決するには
-
標準モジュールとクラスモジュ...
-
どこからも呼ばれていない無意...
-
「囲うインスタンス」のエラー...
-
Imports 文についての疑問!(VB...
-
java eclipse 型に解決できません
-
ヒグマを撃退
-
3年間同じクラスになる確率
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヒグマを撃退
-
中学のクラス数
-
そんなにお金がなくても年に1度...
-
UMLのクラス図はmain()も含むん...
-
どこからも呼ばれていない無意...
-
java eclipse 型に解決できません
-
配列の重複する値とその個数を...
-
EclipseでJSPのコンパイルエラー
-
僕の出身中学校は200人同級生が...
-
コンボボックスのマウスホイー...
-
main()を持つクラスが2つ以上...
-
Cstring(日本語含む)をcharに...
-
同一パッケージにあるクラスが...
-
IPアドレスのクラスAを取得して...
-
dllと同じプロジェクトにする方法
-
標準モジュールとクラスモジュ...
-
VBAもしくはVB6:クラスの中で...
-
Sub-LVDS規格とは
-
同じクラスにならない確率を教...
-
複数のクラスで共通した関数を...
おすすめ情報