sitting in front of me right now is a wasted piece of paper with "this is a test." written on it. my code isnt exactly the same as yours, but the only difference is a little error checking and platform-specfic stuff. what OS are you under? dos box in win95? also newer printers dont expect raw unformatted data from the parallel port i dont think; i have an epson stylus color original, and i know when it came out the raw text output from lpt to printer was a dying thing (it has the economy/condensed, font, load eject buttons on it, nessecary for this sort of thing).
prnt = fopen("/dev/lpt1", "w");
fprintf(prnt, "This is a test.\n");
printf ("error opening printer\n");