1.原理
在源程序修改和打印过程中,常常需要给程序加行号,若采用手工方法在编辑软件中加入,容易出错。本程序在扫描每一行的同事,给程序行计数,并在程序前段加入行号。
使用的主要函数如下:
int fprintf(FILE* stream,ichar* format[,argument,…])
该函数传送格式化输出到一个流中
2.程序清单
#include <stdio.h>
void main()
{
FILE *fs,*ft;
int ln;
char line[600];
if(argc<3)
{
printf("arguments don't fit.\nUsage:nl s _file t_file\n");
exit(1);
}
if((fs=fopen(argv[1],"rt"))==NULL)
{
printf("cannot open source file%s.\n",argv[1]);
exit(1);
}
ln = 1;
while(fgets(line,512,fs)!=NULL)
{
if(fprintf(ft,"%-6d%s",ln++,line)==EOF)
{
printf("cannot write to %s.\n",argv[2]);
fclose(fs);
exit(1);
}
}
fclose(fs);
if(fclose(ft)==EOF)
{
printf("cannot close %s.\n",argv[2]);
exit(1);
}
printf("OK\n");
}