私はstackexchangeにどこかにこのコードを発見し、それは素晴らしい作品。どのようにC++での六角char配列へのstd ::文字列を変換するには?
char *szData = new char[str_hex.size()+1] = "\x4d\x4d\x4d\x5a\x90\x00\x03\x00\x00\x00\x04\x00\x00\x00\xe0\x00\x00\x00\x0e\x1f\xba\x0e\x00\xb4\x09\xcd\x00\x00\x00\x00\x00\x00\x00\x00";
system("pause");
HANDLE hFile;
DWORD dwBytesWritten = 0;
TCHAR szPath[MAX_PATH] = "C:\\Users\\Jules\\Desktop\\halloskos.txt";
hFile = CreateFile (szPath,
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL);
WriteFile(hFile,&hexCh,sizeof(hexCh)-1, &dwBytesWritten, NULL);
CloseHandle(hFile);
delete [] szData;
はしかし、私は(:4d5a9000f4等...このように格納されている)テキストファイルからHEXデータを引き出したいです。 fstreamので
iは、文字列にテキストファイルの内容を変えることができますが、どのように私は、コード例に示す配列にこれを変換することができますか? (このようなので、char型の配列:\ x4d \ X5A \ X90 \ X00 \ XF4など...)
変換例:
から:
string str_hex = "4d5a9000f4";
へ:
char *ch_hex = new char[str_hex.size()+1] = "\x4d\x5a\x90\x00\xf4"
ありがとうあなたの助け!
に[同じ質問](http://stackoverflow.com/questions/3381614/c-convertがありますあります-string-TO-16進と、その逆/ 35599923)時 –
読む2つの文字と[整数に変換(http://en.cppreference.com/w/cpp/string/basic_string/stol)? –