C/C++の宿題を片付けます 87代目
■ このスレッドは過去ログ倉庫に格納されています
0057デフォルトの名無しさん
2007/05/15(火) 00:43:32#include <string>
#include <windows.h>
using namespace std;
int main(int argc, char **argv)
{
if (argc < 3) return 1;
HANDLE fin = CreateFile(argv[1], GENERIC_READ, 0, 0, 3, 0, 0);
if (fin == (HANDLE)-1) return 1;
HANDLE fout = CreateFile(argv[2], GENERIC_WRITE, 0, 0, 2, 0, 0);
if (fout == (HANDLE)-1) return 1;
static char *hextab = "0123456789abcdef";
unsigned char buff[0x2000], obuff[0x5000], *p;
DWORD i, j, dwRead, dwWritten;
while (ReadFile(fin, buff, sizeof buff, &dwRead, 0) && dwRead > 0) {
for (i = j = 0, p = obuff; i < dwRead; ++i, j = (j + 1) % 0x20) {
*p++ = hextab[buff[i] >> 4];
*p++ = hextab[buff[i] & 0xf];
if (j == 0x1f) *p++ = '\r', *p++ = '\n';
}
WriteFile(fout, obuff, p - obuff, &dwWritten, 0);
}
CloseHandle(fin), CloseHandle(fout);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています