一些C# 的基礎應用範例
2022年10月17日 星期一
[C#]語法混合應用
2022年6月12日 星期日
[C++]把兩個char合併成一個char
測試環境:mfc 2019
使用方式
unsigned char buff[2] = { '9','E' };
unsigned char ucResult = '0';
ucResult = catChar2Hex(buff[0], buff[1]);
CString cst;
cst.Format(L"%x", int(ucResult));
MessageBox(cst);
結果: 0x9E
參考:https://blog.csdn.net/yhxxhy978/article/details/94136796
2022年4月7日 星期四
[C++]CString字符串分割
#include <iostream>
#include <cstring> #include <atlcomtime.h> using namespace std; //最後一個參數返回的是子字符串的數量 CString * SplitString(CString str, char split, int& iSubStrs); int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // initialize MFC and print and error on failur CString str = "sssdf sfds jieuri lj122 98098"; // CString str = "sfsfsf"; CString* pStr; int iSubStrs; pStr = SplitString(str, ' ', iSubStrs); //如果子字符串的數量爲1 if (iSubStrs == 1) { //Convert CString to char char* pCh = (LPSTR)(LPCTSTR)str; printf("%s\n", pCh); } else { //輸出所有子字符串 for (int i = 0; i < iSubStrs; i++) { //Convert CString to char char* pCh = (LPSTR)(LPCTSTR)pStr[i]; printf("%s\n", pCh); } delete []pStr; } system("pause"); return nRetCode; } CString * SplitString(CString str, char split, int& iSubStrs) { int iPos = 0; //分割符位置 int iNums = 0; //分割符的總數 CString strTemp = str; CString strRight; //先計算子字符串的數量 while (iPos != -1) { iPos = strTemp.Find(split); if (iPos == -1) { break; } strRight = strTemp.Mid(iPos + 1, str.GetLength()); strTemp = strRight; iNums++; } if (iNums == 0) //沒有找到分割符 { //子字符串數就是字符串本身 iSubStrs = 1; return NULL; } //子字符串數組 iSubStrs = iNums + 1; //子串的數量 = 分割符數量 + 1 CString* pStrSplit; pStrSplit = new CString[iSubStrs]; strTemp = str; CString strLeft; for (int i = 0; i < iNums; i++) { iPos = strTemp.Find(split); //左子串 strLeft = strTemp.Left(iPos); //右子串 strRight = strTemp.Mid(iPos + 1, strTemp.GetLength()); strTemp = strRight; pStrSplit[i] = strLeft; } pStrSplit[iNums] = strTemp; return pStrSplit; }2022年3月24日 星期四
[C#]String 檔案路徑分割
傳入路徑,後面的參數(upLevel)為層級,透過層級來自動切割要哪一些資料
Ex:
String str = "C:\\123\\456\\789\\1.Txt";
str = GetUpLevelDirectory(str,0);
// str = C:\\123\\456\\789
str = GetUpLevelDirectory(str,1);
//C:\\123\\456
str = GetUpLevelDirectory(str,2);
//C:\\123
-------------------------------------------------------------------------------------------------------------
Path.GetFileName()、Path.GetExtension()、Path.GetFileNameWithoutExtension()
這三個方法是同一群的,依序是取得檔案名稱、取得副檔名、取得不包含副檔名的檔案名稱
--------------------------------------------------------------------------------------------------------------
以下為 function
using System.Diagnostics;
2022年3月10日 星期四
[C++]UChar to char 字串轉換
bool UCharToChar(UCHAR* ucStr, int ilen, char* cStr){
2021年10月4日 星期一
[SQL]字串切割連接處理 與 名字馬賽克範例
DECLARE @tNameTable TABLE(name VARCHAR(10))
--insert data
INSERT INTO @tNameTable
VALUES('唐三')
INSERT INTO @tNameTable
VALUES('唐三藏')
INSERT INTO @tNameTable
VALUES('唐朝盛世')
SELECT * FROM @tNameTable
-- start to mark
SELECT CASE LEN(name)
WHEN 0 | 1
THEN ''
WHEN 2 THEN CONCAT(LEFT(name, 1),'O')
ELSE
CONCAT(LEFT(name,1),SUBSTRING('OOOOOOOOOO',1,LEN(name)-2),RIGHT(name,1))
END
FROM @tNameTable
結果!!!
預設的資料是 唐三,唐三藏,唐朝盛世
經過馬賽克字串處理會變成 唐O,唐O藏,唐OO世
[SQL]顯示千分位與小數顯示
CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT style參數說明 1 (expression為 money 或 smallmoney型別): 0 : 預設,保留小數位後兩位,並四捨...
-
using System.IO; 取得程式當下檔案目錄資訊: string sPath = this .GetType().Assembly.Location; string filename = @"C:\Users\123.text...
-
兩個函式宣告,需要 using System.Diagnostics; ----------------------使用方式------------------------------------------- OpenPress( "AAA.exe...
-
常見CRC檢查碼 Common CRC codes 最常見的CRC檢查碼位元數目有8、16、32,一般表示都是CRC-8、CRC-16、CRC-32,CRC編碼越長偵測能力越強大,然而得更多時間傳送更長CRC檢查碼,CRC-16能偵測一個區塊內一或兩個位...