问题
My OS is: Windows 8
IDE: VS 2012
Here is my C program. (from book)
/* print_it.c—This program prints a listing with line numbers! */
#include <stdlib.h>
#include <stdio.h>
void do_heading(char *filename);
int line = 0, page = 0;
int main( int argv, char *argc[] )
{
char buffer[256];
FILE *fp;
if( argv < 2 )
{
fprintf(stderr, "\nProper Usage is: " );
fprintf(stderr, "\n\nprint_it filename.ext\n" );
return(1);
}
if (( fp = fopen( argc[1], "r" )) == NULL )
{
fprintf( stderr, "Error opening file, %s!", argc[1]);
return(1);
}
page = 0;
line = 1;
do_heading( argc[1]);
while( fgets( buffer, 256, fp ) != NULL )
{
if( line % 55 == 0 )
do_heading( argc[1] );
fprintf( stdprn, "%4d:\t%s", line++, buffer );
}
fprintf( stdprn, "\f" );
fclose(fp);
return 0;
}
void do_heading( char *filename )
{
page++;
if ( page > 1)
fprintf( stdprn, "\f" );
fprintf( stdprn, "Page: %d, %s\n\n", page, filename );
}
Trying to compile. Opened Developer Command Prompt, and typed
cl print_it.c
Got this screen (bunch of errors and warnings)
http://content.screencast.com/users/TT13/folders/Jing/media/ff48bfe2-7e83-4d93-b1c5-db7ab7e553b8/2012-08-21_1458.png
What am I missing?
回答1:
stdprn isn't part of standard C. stdprn is a stream DOS compilers provided. Should probably be avoided.
You could try turning off ANSI compatibility to get stdprn to work.
(Reference)
回答2:
you can type "stdout" instead of "stdprn"
来源:https://stackoverflow.com/questions/12052484/c-compilation-errors-on-using-stdprn