home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
worldmap
/
world.arc
/
MPSTOMP1.C
< prev
next >
Wrap
Text File
|
1985-12-28
|
2KB
|
86 lines
/* Copyright (C) 1985 John B. Allison December 1985
mpstomp1 - convert mps binary format files to mp1 ASCII format.
*/
main(argc, argv)
int argc;
char *argv[];{
#include "stdio.h"
FILE *fp;
#define RECSIZE 90
#define READMODE 0x8000
#define WRITEMODE 0x8001
int n, ix, blank, fi;
char ss[80], fullname[80], c, zchar = 26; /* Ctrl Z - EOF */
float xvalue, yvalue;
double x, y;
char outname[80];
if(argc != 3 || argv[2][1] != ':' || argv[2][2] != '\0'){
printf(" useage: mpstomp1 file_name disk_drive\n");
printf("\nwhere 'file_name' is a file name (excluding drive designation and extension). \n");
printf("This program will create an mp1-formated\n");
printf("file named 'x:file_name.mps'\n");
exit();
}
/* Input File */
strcpy(fullname, argv[1]);
strcat(fullname, ".mps");
if((fi=open(fullname, READMODE)) == -1){
printf("Unable to open %s\n", fullname);
exit();
}
/* Output File */
strcpy(outname, argv[2]);
strcat(outname, argv[1]);
strcat(outname, ".mp1");
if((fp=fopen(outname, "r")) != NULL){
printf("Output file %s already exists.\n", outname);
exit();
}
if((fp=fopen(outname, "w")) == NULL){
printf("Unable to create %s\n", outname);
exit();
}
/* Read and process the binary map file. */
while(read(fi, &xvalue, 4) != 0){
if(read(fi, &yvalue, 4) == -1) goto error;
x = xvalue;
y = yvalue;
fprintf(fp, "%.3f %.3f", x, y);
for(read(fi, &c, 1); c != '\n'; read(fi, &c, 1)){
if(c == 1){
fprintf(fp, "\n");
continue;
}
fprintf(fp, "%c", c);
}
fprintf(fp, "\n");
}
fprintf(fp, "%c", zchar); /* End of File - Ctrl Z */
exit();
error:
printf("Read error on file %s\n", fullname);
}