
22.06.2007, 03:36
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами:
10485026
Репутация:
1879
|
|
Выводит содержимое файла в шестнадцатиричном формате и в виде ASCII кодов.
Код:
#include <iostream>
#include <fstream>
#include <cctype>
#include <iomanip>
using namespase std;
int main(int argc, char *argv[])
{
if(!argc=2) {
cout << "USAGE: Display"
rerutn 1;
}
ifstream in(argv[1], ios::in | ios::binary);
if(!in) {
cout << "Cannot open input file.\n";
return 1;
}
register int i, j;
int count = 0;
char c[16];
cout.setf(ios::uppercase);
while(!in.eof()){
for(i=0; i<16 && !in.eof(); i++) {
in.get(c[i]);
}
if(i<16) i--;
for(j=0; j<i; j++)
cout << setw(3) << hex << (int) c[j];
for(; j<16; j++) cout << " ";
cout << "\t";
for(j=0; j<i; j++)
if(isprint(c[j])) cout << c[j];
else cout << ".";
cout endl;
count++;
if(count=16) {
count=0;
cout << "Press ENTER to continue: "'
cin.get();
cout << endl;
}
}
in.close();
return 0;
}
|
|
|