約 391,578 件
https://w.atwiki.jp/fumiduki1985/pages/294.html
Windowsの実行ファイル(*.exe)のプロパティの「詳細」タブ > 製品バージョン で確認できる文字列を取得するには下記のようにWindows APIを使用する。 下記記述例ではいろいろ省略しているが、それぞれのAPIのエラー時にはバッファの解放など気を付けるべき。 記述例: LPTSTR filepath = L"myApplication.exe"; // 製品バージョンを取得したいexeファイル名 DWORD handle; DWORD infoBytes = GetFileVersionInfoSize(filepath, handle); if (infoBytes == 0) { // バージョン情報の取得エラー } BYTE* versionInfoBuf = new BYTE[infoBytes]; if (!GetFileVersionInfo(filepath, handle, infoBytes, versionInfoBuf)) { // バージョン情報の取得エラー } LPVOID fileInfoBuf; UINT fileInfoBytes; if (!VerQueryValue(versionInfoBuf, L"\\VarFileInfo\\Translation", fileInfoBuf, fileInfoBytes)) { // バージョン情報の取得エラー } LPVOID fileVerBuf; UINT fileVerBytes; TCHAR langCodepage[256]; wsprintf(langCodepage , L"\\StringFileInfo\\%04x%04x\\FileVersion", LOWORD(*(LPDWORD)fileInfoBuf), HIWORD(*(LPDWORD)fileInfoBuf)); if (!VerQueryValue(versionInfoBuf, langCodepage, fileVerBuf, fileVerBytes)) { // バージョン情報の取得エラー } // この appVerString が「製品バージョン」の文字列になる const TCHAR* appVerString = (const TCHAR*)fileVerBuf; delete[] versionInfoBuf; このページのタグ一覧 C/CPP WinAPI Windows プログラミング
https://w.atwiki.jp/fumiduki1985/pages/333.html
タイトルの通り、C#の@クォート文字列内でダブルクォートを使用する場合、「\"」のようにエスケープするのではなく「""」と2つ重ねる必要がある。 記述例: string myStr = @"double ""quote"""; // 「double "quote"」を表す@クォート文字列 このページのタグ一覧 C# プログラミング 最終更新日:2017/12/22
https://w.atwiki.jp/officewiki/pages/22.html
https://w.atwiki.jp/miracle_mikuru/pages/60.html
_bstr_t からの変換 コードのコピー // convert_from_bstr_t.cpp // compile with /clr /link comsuppw.lib #include iostream #include stdlib.h #include string #include "atlbase.h" #include "atlstr.h" #include "comutil.h" using namespace std; using namespace System; int main() { _bstr_t orig("Hello, World!"); wcout orig " (_bstr_t)" endl; // Convert to a char* const size_t newsize = 100; char nstring[newsize]; strcpy_s(nstring, (char *)orig); strcat_s(nstring, " (char *)"); cout nstring endl; // Convert to a wchar_t* wchar_t wcstring[newsize]; wcscpy_s(wcstring, (wchar_t *)orig); wcscat_s(wcstring, L" (wchar_t *)"); wcout wcstring endl; // Convert to a CComBSTR CComBSTR ccombstr((char *)orig); if (ccombstr.Append(L" (CComBSTR)") == S_OK) { CW2A printstr(ccombstr); cout printstr endl; } // Convert to a CString CString cstring((char *)orig); cstring += " (CString)"; cout cstring endl; // Convert to a basic_string string basicstring((char *)orig); basicstring += " (basic_string)"; cout basicstring endl; // Convert to a System String String ^systemstring = gcnew String((char *)orig); systemstring += " (System String)"; Console WriteLine("{0}", systemstring); delete systemstring; }出力 Hello, World! (_bstr_t) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System String)
https://w.atwiki.jp/suffix/pages/1383.html
文字列を比較する: = 例:str1 = str2 =と各変数を半角スペースで離さないと、if文の判定に失敗するので注意。 文字列を連結 例:mojiretsu${変数名} アンダースコアを含む文字列を連結する場合は、変数名の一部として解釈されないように、 $変数名"_xxx"のように文字列を囲うのを忘れないこと。 変数の切り出し: 変数展開をうまく使おう。 以下は変数展開の一例を某質問サイト抜粋したもの。 ${1 +"$@"} test if $1 null or unset ${1+"$@"} test if $1 unset
https://w.atwiki.jp/miracle_mikuru/pages/59.html
wchar_t * からの変換 コードのコピー // convert_from_wchar_t.cpp // compile with /clr /link comsuppw.lib #include iostream #include stdlib.h #include string #include "atlbase.h" #include "atlstr.h" #include "comutil.h" using namespace std; using namespace System; int main() { wchar_t *orig = L"Hello, World!"; wcout orig L" (wchar_t *)" endl; // Convert to a char* size_t origsize = wcslen(orig) + 1; const size_t newsize = 100; size_t convertedChars = 0; char nstring[newsize]; wcstombs_s( convertedChars, nstring, origsize, orig, _TRUNCATE); strcat_s(nstring, " (char *)"); cout nstring endl; // Convert to a _bstr_t _bstr_t bstrt(orig); bstrt += " (_bstr_t)"; cout bstrt endl; // Convert to a CComBSTR CComBSTR ccombstr(orig); if (ccombstr.Append(L" (CComBSTR)") == S_OK) { CW2A printstr(ccombstr); cout printstr endl; } // Convert to a CString CString cstring(orig); cstring += " (CString)"; cout cstring endl; // Convert to a basic_string wstring basicstring(orig); basicstring += L" (basic_string)"; wcout basicstring endl; // Convert to a System String String ^systemstring = gcnew String(orig); systemstring += " (System String)"; Console WriteLine("{0}", systemstring); delete systemstring; }出力 Hello, World! (wchar_t *) Hello, World! (char *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (basic_string) Hello, World! (System String)
https://w.atwiki.jp/ohden/pages/469.html
デバッグ時CString型の文字列を編集したい VisualC++ 2008 MFC/ATLにおいてCString型の変数は良く使われるが、デバッグ時に直接値を変更できないのがネック。 その場合、ちょっと手間だが、変更したい場所に以下のコードを埋め込む。 CString s; : :// debug時に値変更したい場所char* p = s.GetBuffer();s.ReleaseBuffer(); で、ReleaseBuffer()の行にbreakpoint設定しといて、breakしたらpの中身を編集。ReleaseBuffer()後に編集した内容がCString sへ反映されている事が確認できる。 更新日: 2012年05月09日 (水) 15時30分57秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/sampleisbest/pages/512.html
開発環境 Microsoft Visual Studio Community 2017 実行環境 Microsoft Windows 10 Home (64bit) プロジェクトの種類 Visual C++/空のプロジェクト プロジェクト名 prefix prefix.cpp #include stdio.h #include string.h #include wchar.h #define T1 "abcあいう?" #define T2 L"abcあいう□" #define T3 u"abcあいう□" #define T4 U"abcあいう□" #define T5 u8"abcあいう□" // U+2B746 □ void dump(const void *ptr, size_t sz) { printf("sz=%zu\n", sz); unsigned char *p = (unsigned char *)ptr; for (size_t i = 0; i sz; i++) { printf("%02x%c", *p, " - - - \n"[i 0xf]); p++; } printf("\n"); } int main() { const char *str1 = T1; printf("\n・マルチバイト文字セット\n"); printf(" \"%s\" strlen=%zu\n", T1, strlen(str1)); dump(str1, sizeof T1); const wchar_t *str2 = T2; printf("\n・Unicode文字セット\n"); printf(" L\"%s\" wcslen=%zu\n", T1, wcslen(str2)); dump(str2, sizeof T2); const char16_t *str3 = T3; printf("\n・UTF-16LE\n"); printf(" u\"%s\"\n", T1); dump(str3, sizeof T3); const char32_t *str4 = T4; printf("\n・UTF-32LE\n"); printf(" U\"%s\"\n", T1); dump(str4, sizeof T4); const char *str5 = T5; printf("\n・UTF-8\n"); printf(" u8\"%s\"\n", T1); dump(str5, sizeof T5); return 0; } 出力 ・マルチバイト文字セット "abcあいう?" strlen=11 sz=12 61 62 63 82-a0 82 a2 82-a4 81 48 00- ・Unicode文字セット L"abcあいう?" wcslen=8 sz=18 61 00 62 00-63 00 42 30-44 30 46 30-6d d8 46 df 00 00 ・UTF-16LE u"abcあいう?" sz=18 61 00 62 00-63 00 42 30-44 30 46 30-6d d8 46 df 00 00 ・UTF-32LE U"abcあいう?" sz=32 61 00 00 00-62 00 00 00-63 00 00 00-42 30 00 00 44 30 00 00-46 30 00 00-46 b7 02 00-00 00 00 00 ・UTF-8 u8"abcあいう?" sz=17 61 62 63 e3-81 82 e3 81-84 e3 81 86-f0 ab 9d 86 00
https://w.atwiki.jp/reportdesigner/pages/89.html
#blognavi 質問 RD Serverの連結文字列は管理画面以外からも定義できますか? 回答 連結文字列はブラウザの管理画面以外にRD Serverの設定ファイルで定義可能です。 .NET版の場合はweb.configファイル,Java版の場合はdb.propertiesファイル内に 連結文字列の定義を直接編集して下さい。 カテゴリ [FAQ] - trackback- 2012年01月11日 11 10 00 名前 コメント #blognavi
https://w.atwiki.jp/miracle_mikuru/pages/63.html
basic_string からの変換 コードのコピー // convert_from_basic_string.cpp // compile with /clr /link comsuppw.lib #include iostream #include stdlib.h #include string #include "atlbase.h" #include "atlstr.h" #include "comutil.h" using namespace std; using namespace System; int main() { string orig("Hello, World!"); cout orig " (basic_string)" endl; // Convert to a char* const size_t newsize = 100; char nstring[newsize]; strcpy_s(nstring, orig.c_str()); strcat_s(nstring, " (char *)"); cout nstring endl; // Convert to a wchar_t* // You must first convert to a char * for this to work. size_t origsize = strlen(orig.c_str()) + 1; size_t convertedChars = 0; wchar_t wcstring[newsize]; mbstowcs_s( convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE); wcscat_s(wcstring, L" (wchar_t *)"); wcout wcstring endl; // Convert to a _bstr_t _bstr_t bstrt(orig.c_str()); bstrt += " (_bstr_t)"; cout bstrt endl; // Convert to a CComBSTR CComBSTR ccombstr(orig.c_str()); if (ccombstr.Append(L" (CComBSTR)") == S_OK) { CW2A printstr(ccombstr); cout printstr endl; } // Convert to a CString CString cstring(orig.c_str()); cstring += " (CString)"; cout cstring endl; // Convert to a System String String ^systemstring = gcnew String(orig.c_str()); systemstring += " (System String)"; Console WriteLine("{0}", systemstring); delete systemstring; }出力 Hello, World! (basic_string) Hello, World! (char *) Hello, World! (wchar_t *) Hello, World! (_bstr_t) Hello, World! (CComBSTR) Hello, World! (CString) Hello, World! (System String)