[BCB] string to hex(int)
int iHex = StrToInt("$" + AnsiString);
[VC++] int to hex(string)
String sHex = iNum.ToString("X2");
Nola Log
儲思盆
2017年1月11日 星期三
[C++] char array 與字串比對
strcmp()
Example.
strcmp(char array, "word")
return 0, means equal, otherwise is not match.
notice: 若 char array 資料來自某段複製
記得自行加上 '\0' 結尾, 否則不會 match
Example.
strcmp(char array, "word")
return 0, means equal, otherwise is not match.
notice: 若 char array 資料來自某段複製
記得自行加上 '\0' 結尾, 否則不會 match
2017年1月10日 星期二
[C++] System::String^ to char*
System::String^ to char*
Reference: http://forums.codeguru.com/showthread.php?372298-MC-amp-C-CLI-String-How-to-convert-System-String-to-char*
Example Code.
using namespace System::Runtime::InteropServices;
char* cFileName = (char*)(void*)Marshal::StringToHGlobalAnsi(textBox1->Text);
Reference: http://forums.codeguru.com/showthread.php?372298-MC-amp-C-CLI-String-How-to-convert-System-String-to-char*
Example Code.
using namespace System::Runtime::InteropServices;
char* cFileName = (char*)(void*)Marshal::StringToHGlobalAnsi(textBox1->Text);
[C++] wchar(tchar) 與 char 互轉
wchar(tchar) 與 char 互轉
1. char --> wchar(tchar)
char* szWord = "Hello";
wchar_t szWchar[10];
mbstowcsszWchar, szWord, strlen(szWord));
2. wcahr(tchar) --> char
char szWord[10];
wchar_t szWchar[] = L"Hello";
wcstombs(szWord, szWchar, wcslen(szWchar));
1. char --> wchar(tchar)
char* szWord = "Hello";
wchar_t szWchar[10];
mbstowcsszWchar, szWord, strlen(szWord));
2. wcahr(tchar) --> char
char szWord[10];
wchar_t szWchar[] = L"Hello";
wcstombs(szWord, szWchar, wcslen(szWchar));
2017年1月9日 星期一
[C++] 取得當前路徑
1. .\\ 可以取得當前應用程式的目錄, 但當前的目錄位置不一定等於應用程式的目錄位置, 應用程式的當前目錄可被修改
2. GetCurrentDirectory() 同 .\\
3. GetModuleFileName()
函数原型
DWORD GetModuleFileName(
HMODULE hModule, // 若要當前目錄, 填 NULL
LPTSTR lpFilename, // 得到的文件名
DWORD nSize // 可容許的長度
);
Example.
wchar_t szFilePath[256];
GetModuleFileName(NULL, szFilePath, 256);
String ^ A = gcnew String(szFilePath);
int pos = A->LastIndexOf("\\");
this->openBinFileDialog->InitialDirectory = A->Substring(0, pos);
2. GetCurrentDirectory() 同 .\\
3. GetModuleFileName()
函数原型
DWORD GetModuleFileName(
HMODULE hModule, // 若要當前目錄, 填 NULL
LPTSTR lpFilename, // 得到的文件名
DWORD nSize // 可容許的長度
);
Example.
wchar_t szFilePath[256];
GetModuleFileName(NULL, szFilePath, 256);
String ^ A = gcnew String(szFilePath);
int pos = A->LastIndexOf("\\");
this->openBinFileDialog->InitialDirectory = A->Substring(0, pos);
2017年1月3日 星期二
[C++] 宣告未知大小的陣列
Reference: http://phorum.study-area.org/index.php?topic=48457.0
使用指標
Example.
int *pt;
要使用時再動態配置記憶體
pt = new int[count];
用完後歸還記憶體
delete []pt;
** 計算陣列大小
int array[] = {1, 2, 3};
int result = sizeof(array)/sizeof(int)
使用指標
Example.
int *pt;
要使用時再動態配置記憶體
pt = new int[count];
用完後歸還記憶體
delete []pt;
** 計算陣列大小
int array[] = {1, 2, 3};
int result = sizeof(array)/sizeof(int)
[C++] 組態錯誤
使用 sxstrace 來檢查問題. 使用方法如下:
sxstrace trace -logfile:filename
產生追蹤的 log file
sxstrace parse -logfile:filename -outfile:filename
剖析 log file 並產生輸出檔
若是找不到 DebugCRT 等資料, 可至
32bit os: C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86
64bit os: C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86
sxstrace trace -logfile:filename
產生追蹤的 log file
sxstrace parse -logfile:filename -outfile:filename
剖析 log file 並產生輸出檔
若是找不到 DebugCRT 等資料, 可至
32bit os: C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86
64bit os: C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86
訂閱:
文章 (Atom)