- 论坛徽章:
- 0
|
- #include <termios.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <dirent.h>
- #include <string.h>
- #include <stdlib.h>
- #include <time.h>
- FILE * f1;
- char *name;
- char c;
- int i;
- int n=0;
- int key;
- int result[32];
- int hex2dec (char *c)
- {
- int l,h;
- int ans;
- l = *c & 0xf;
- h = (*c >> 4) & 0xf;
- ans = h*16 + l;
- //printf ("%d\n", ans);
- return (ans);
- }
- int main(int argc, char *argv[])
- {
- int sum=0;
- int total=0;
- int n=0;
- char ans[2];
- if ( argc != 3 )
- printf ("b2d [0:LE;1=BE] [file]\n");
- else {
- key = atoi(argv[1]);
- name = argv[2];
- f1 = fopen (name, "rw");
- if ( f1 == NULL)
- printf ("File Open Error!\n");
- else {
- do {
- c = fgetc (f1);
- if (( c != EOF ) || ( n == 0)) result[n++]=c;
- //result[n++]=c;
- } while ( c != EOF );
- if ( key == 0 )
- {
- //litter eiden
- for (i=0; i<n; i++) {
- c=result[i] & 0xff;
- sum=hex2dec(&c);
- total=(total*256)+sum;
- }
- } else
- //big eiden
- for (i=n-1; i>=0; i--) {
- c=result[i] & 0xff;
- sum=hex2dec(&c);
- total=(total*256)+sum;
- }
- }
- }
- printf ("%d", total);
- fclose (f1);
- } //end of main
复制代码 提示 segmentation fault 有人帮解决一下?? |
|