【发布时间】:2012-08-16 15:47:56
【问题描述】:
我的操作系统是:Windows 8
IDE:VS 2012
这是我的 C 程序。 (来自书)
/* 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 );
}
尝试编译。打开开发者命令提示符,输入
cl print_it.c
得到这个屏幕(一堆错误和警告)
我错过了什么?
【问题讨论】:
-
那本书有多久了?我还没有看到
stdprn用于...年龄! -
-1 用于发布屏幕截图的文本。
-
另外,你用的是什么引号?
“似乎是某种特殊的 UNICODE 字符,而不是标准的 ASCII"引号。即使 VC++2012 接受它们,也不要打赌其他编译器会。 -
第三点,如果你使用的是 VS2012,为什么要从命令行编译而不是从 IDE 内部编译?
-
@KerrekSB 哪个文本?你在说什么?
标签: c windows compilation windows-8 visual-studio-2012