- 締切済み
CStringをLPCTSTRへ変換
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ddnp009
- ベストアンサー率25% (15/58)
MFC/ATLのCStringならLPCTSTRへの変換operatorが 提供されているはず。キャストせずとも使えませんか? なお、明示的にキャストするにしても、static_cast<LPCTSTR>(CString)とするのをお勧めしますよ。 # 今後のことを見据えておられるようなので。
- zwi
- ベストアンサー率56% (730/1282)
CStringであれば、こんな感じでOKのはずです。 CString str; CImage.save((LPCTSTR)str); >今は、GDI+を使用してませんが、やはり今後の事を考えると使用してソフトを組んだほうがよいのでしょうか? WindowsXP以前のOSではDLLが入っていないので使う環境しだいですかね。
お礼
お世話になっております。 ご回答ありがとうございます。 参考にさせていただきます。 ありがとうございました。 今後ともよろしくお願いします。
関連するQ&A
- 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()は使用できないのでしょうか
- ベストアンサー
- C・C++・C#
- CImageのファイル名を指定して保存
お世話になっております。 VC2005を使用しております。 CImageを使用して任意のファイル名で保存したいのですが。 CImage SaveImage; CString ss; ss="1111.jpg"; SaveImage.Save(filename); ----(1) SaveImage.Save("1111.jpg"); ----(2) (2)のように直接ファイル名を書き込むと正常に保存できますが、 (1)のように間接的に書き込むと正常に保存できません。 どのようにすれば(1)のような方法で保存できるのでしょうか? 教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- WORD型をCString型に変換する方法
WORD型をCString型に変換する方法について質問させていただきました。 WORD型の中身は整数値が入っておりその整数の値をCStringに変換する方法がわからなかったので質問させていただきました。 VC++2010を使用しており、困っています。どうかよろしくお願いします
- ベストアンサー
- C・C++・C#
- CStringからchar*への型変換について教えてください。
以前の質問に int型 → CString型/char型 がありましたが、 CString型をchar*型に変換する方法を 教えていただければありがたいです。 MSDNで「LPCTSTRキャスト」が説明されていましたが、 例が載ってないのでよくわかりませんでした。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- CStringとCByteArrayの変換
いつもお世話になっています。 MFCのCStringクラスとCByteArrayを相互に変換したいと考えているのですが、どうもうまくいきません。 文字コードはユニコードを想定しています。 ====================================================== CByteArray data; CString cs1 = _T("あいうえお"); CString cs2; LPBYTE lpByte = (LPBYTE)(LPCTSTR)cs1.GetBuffer(); data.SetSize(cs1.GetLength() * sizeof(TCHAR)); CopyMemory(data.GetData(), lpByte, data.GetSize()); cs1.ReleaseBuffer(); cs2 = (LPCTSTR)data.GetData(); AfxMessageBox(cs2); ====================================================== (現在の出力状況) あいうえお・・・・ 文字は正しく出力されますが、語尾に文字化けしたようなものがつきます。 他に良い方法があればよろしくお願いします。
- 締切済み
- C・C++・C#
- LoadBitmapでCStringを使いたい
VC++.NETでMFCアプリケーションを作っています。 CBitmap::LoadBitmapの定義では BOOL LoadBitmap(LPCTSTR lpszResourceName); とあるのですが、リソースネームはCString型の変数では指定できないのでしょうか? ビットマップリソースがIDB_BMP1~IDB_BMP5まであり、状況により表示する画像を切り替える、ということをしたいのですが。 (略) int n=1; CString fname; CBitmap bmp; fname.Fromat("IDB_BMP%d",n); bmp.LoadBitmap(fname); pOldbmp = myDC.SelectObject(&bmp); pDC->BitBlt(0, 300, 50, 77, &myDC, 0, 0, SRCCOPY); (略) とすると画像が読み込まれません。 なお、LoadBitmapのfnameの部分を IDB_BMP1 と置き換えれば、画像は正常に表示できます。 MFC自体が初めてなので、分かりやすいご説明をいただけると嬉しいです。
- ベストアンサー
- C・C++・C#
- 特殊文字「\」の変換の方法
VC++2005のMFCにてプログラムを作成しています。 CFileDialogにてテキストファイルを読み込み、 読込んだファイルパスの「\」を「\\」になるように変換したいのですが、 実装の方法が分かりません。 ===================================== 例)C:\test\hoge.txt ⇒ C:\\test\\hoge.txt と変換する。 ===================================== 下記にファイルパスをCstring型で読み込み、 char型に変換するまでのプログラムを記載します。 理想としては、char型配列の中に、 「C:\\test\\hoge.txt」のような変換後のファイルパスを 入れたいのです。 解決方法をご存知の方おられましたら、ご教示お願いできませんでしょうか。 【プログラム】 /* ファイルオープンダイアログを表示 */ CFileDialog ReadDlg( TRUE, NULL, "*.txt", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, "txtファイル(*.txt)", this ); CString filepath; if( ReadDlg.DoModal() == IDOK ) { filepath = ReadDlg.GetPathName(); // ファイルのフルパス名を取得 } CFile cfile; CFileException ex; if( !cfile.Open( filepath, CFile::modeRead , &ex ) ) { AfxMessageBox( "ファイルを開くのに失敗しました" ); // エラーメッセージを表示 return; } char st[255] = ""; strcpy( st, filepath );
- ベストアンサー
- C・C++・C#
- pictureboxの画像の保存
お世話になっております。 VC2005を使用しております。 pictureboxに描画されている画像を、CImageクラスを使用してjpgでファイルに保存するにはどのようにすればよいのでしょうか? 教えてください。 よろしくお願いします。
- 締切済み
- C・C++・C#
- CString: 識別子が見つかりません
開発環境: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型は必要になるのですが、そこでコンパイルエラーになっています。 知っているかがおりましたら、教えて下さい。
- ベストアンサー
- C・C++・C#
お礼
お世話になっております。 ご連絡遅れて申し訳ありません。 ご回答ありがとうございます。 確認したいと思います。 今後ともよろしくお願いします。