看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《metroways (qq)》之銘言: : 如題, : 小弟希望能夠將使用者在textbox輸入的"123ABCDF" (舉例), : 儲存成 : unsigned char key[] = {0x12 , 0x3A , 0xBC , 0xDF}, : 不知道,有什麼作法可以達到這個需求呢? : 感謝版友。 using namespace System; using namespace System::Globalization; int main(array<System::String ^> ^args) { String ^str = L"123ABCDF"; long l = long::Parse(str, NumberStyles::HexNumber); unsigned char *ptr = (unsigned char *)&l; for (int i = 3; i >= 0; i--) Console::WriteLine("ptr[{0}] = {1:X}", i, ptr[i]); return 0; } 輸出: ptr[3] = 12 ptr[2] = 3A ptr[1] = BC ptr[0] = DF 照這樣的想法,要再做倒過來擺還是其他的工作,應該都不困難了吧? 根據 loveme00835 板友在原文的推文,另外一種方法 int main(array<System::String ^> ^args) { String ^str = L"123ABCDF"; for (int i = 0; i < 4; i++) Console::WriteLine("{0:X}", Byte::Parse(str->Substring(i * 2, 2), NumberStyles::HexNumber)); return 0; } 其實更簡單耶...XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46
loveme00835:補充剛找到的網頁 : http://tinyurl.com/23mvqea 06/30 21:04
※ 編輯: james732 來自: 140.117.171.46 (06/30 21:06) ※ 編輯: james732 來自: 140.117.171.46 (06/30 21:09)
loveme00835:用 .NET 庫好多 :: 符號, 不習慣 > < 06/30 21:12
james732:C#的話就一律用「.」了 不像C++分得這麼清楚...XD 06/30 21:14
metroways:先謝過了,我測試看看,非常感謝~ 06/30 21:19