#include #include /*-----return codes-----*/ #define BAD_LEN -1 #define OK 0 main(argc,argv) int argc; char **argv; { FILE *inf,*opf; int n, items_read; char carr[2]; char tchar[2]; short outval; if (argc > 1) inf=fopen(argv[1],"r"); else inf=stdin; if (argc > 2) opf=fopen(argv[2],"w"); else opf=stdout; while ((n=fread(carr,1,2,inf)) == 2){ tchar[0] = carr[1]; tchar[1] = carr[0]; memcpy(&outval,tchar,2); fwrite(&outval,sizeof(short),1,opf); items_read++; } if (ferror(inf)) { fprintf(stderr,"?Read error, file %s items read %d\n", argv[1],items_read); exit(1); } fclose(inf); fclose(opf); }