C compilation errors on using stdprn

好久不见. 提交于 2019-12-14 04:23:54

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!