Mar 14, 2005 [去年の今ごろ]
C で書いて感動。
かつて BASIC でプログラミング言語に触れて C で挫折した。
それから数年経って Windows と Borland C Compiler と web に情報源を手に入れた今、一から勉強し直している。
今日、ファイルのダンプを表示する処理を関数リファレンスを引きゝ書いてみたら悪戦苦闘の末なんとか出来上がった。かつて BASIC で味わった感動がよみがえってきた。
#include <stdio.h>
#define SCREEN_LINE 24
void main (int argc,char *argv[]) {
FILE *fp;
int i, l, k, n;
unsigned char c[16];
long adr = 0;
if (argc < 2) {
printf ("usage: dump filename\n");
exit(1);
}
if ((fp = fopen(argv[1], "rb")) == NULL) {
printf("file open error.\n");
exit(ENOENT);
}
do {
n = fread(c, sizeof(char), 16, fp);
printf ("%04X ", adr);
adr += 16;
for (i = 0; i < n; i++) {
printf("%02X ", c[i]);
}
printf(" ");
for (i = 0; i < n; i++) {
if (c[i] < 0x20 || c[i] > 0x7e){
c[i] = '_';
}
putchar(c[i]);
}
printf("\n");
l++;
/*
if (l == SCREEN_LINE){
k = getch();
if (k == 0x1b ||
k == 'q' ||
k == 'Q') {
exit(0);
}
l = 0;
}
*/
} while (n > 15);
fclose(fp);
return;
}
コメントを書く
トラックバックURL: http://park18.wakwak.com/~ogane/cgi-bin/blosxom.cgi/computer/200503141658.trackback
Posted at 16:58 - permalink - category: コンピュータ - tags: computer
これまでの記事。
2008
|
5 |
4 |
3 |
2 |
1 |
2007 | 12 | 11 | 10 | 9 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2006 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2005 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2004 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2003 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2002 | 12 |
2007 | 12 | 11 | 10 | 9 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2006 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2005 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2004 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2003 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2002 | 12 |
この記事へのコメント