いつもお世話になっております。
基本的な質問ばかりで、恐縮です。
状況
Visual Studio 2019 で C++ を使っています。
次のようなプログラムで、Window に文字列を表示させることができました。
C++
1PAINTSTRUCT ps; 2HDC hdc = BeginPaint(hWnd, &ps); 3TCHAR szText[] = TEXT("This is some sample text."); 4TextOut(hdc, 50, 50, szText, lstrlen(szText)); 5EndPaint(hWnd, &ps); 6
事情があって、文字列の部分に変数を用いたいと考えています。
そこで、次のようにしてみました。
C++
1#include <string> 2using namespace std; 3 4string ss; 5ss = "This is som sample text."; 6 7PAINTSTRUCT ps; 8HDC hdc = BeginPaint(hWnd, &ps); 9 10TCHAR szText[] = TEXT(ss); 11TextOut(hdc, 50, 50, szText, lstrlen(szText));
エラー内容
上のようにすると、次のようなエラーが表示されます。
1>------ ビルド開始: プロジェクト: Test, 構成: Debug Win32 ------
1>Test.cpp
1>Text.cpp(160,21): error C2065: 'Lss': 定義されていない識別子です。
1>プロジェクト "Test.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
質問
string型と、 TCHAR型は、異なる型だろうと考え、いろいろと変換する方策を検索したり試したりしているのですが、うまくいきません。
ア)変換するとしたら、どのような方法が適切でしょうか。
イ)そもそも「変換しよう」と考えずに、最初から TCHAR型の変数に文字列を格納した場合に、文字列を結合したり一部を取り出したり等の操作は可能なのでしょうか(本件からは、少し離れた話題になるかと存じます)
お手数ですが、教えていただければ幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/24 03:14