bool File_0XFF(const wchar_t* inFileName)
{ if (!inFileName) return false; std::ifstream infile(inFileName, std::ios_base::in | std::ios_base::binary); std::ofstream outfile; outfile.open(L"temp.txt"); if (infile.is_open() && outfile.is_open()) { infile.seekg(0, std::ios::end); unsigned srcLen = infile.tellg(); infile.seekg(0, std::ios::beg); int num = 0; for (unsigned i = 0; i < srcLen; i++) { char temp = 0; infile.read(&temp, 1); if (infile.fail()) return false; if (num == 16) { num = 0; outfile << std::endl; #ifdef _CONSOLE std::cout << std::endl; #endif } num++; int h = (temp >> 4) & 0x0f; int l = temp & 0x0f; outfile << "0x"; outfile << std::hex << h; outfile << std::hex << l; if (i != srcLen - 1) { outfile << ','; } #ifdef _CONSOLE std::cout << "0x"; std::cout << std::hex << h; std::cout << std::hex << l; if (i != srcLen - 1) { std::cout << ','; } #endif } infile.close(); outfile.close(); ShellExecute(NULL, L"open", L"temp.txt", NULL, NULL, SW_SHOWNORMAL); Sleep(1000); DeleteFile(L"temp.txt"); return true; } else { #ifdef _CONSOLE std::wcout << L"打开文件: " << inFileName << L"失败!" << std::endl; #endif return false; } } |
将文件转为二进制字符串
最新推荐文章于 2020-03-21 17:40:09 发布