← Back to team overview

sslug-teknik team mailing list archive

Re: Vi og linienummer

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hej,

> I  "VI"  kan man via "se nu" få vist linienummer.
> 
> Hvordan får man linienummer til at forblive i filen ?

Det er vist ikke i filen på noget tidspunkt, men bare i marginen ?

> Via noget perl? eller kan "VI" selv?

Følgende C-kode burde vist kunne gøre:

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[]){
	FILE* fin,*fout;
	char* buf;
	int i;

        if(argc<3){
                fprintf(stderr,"lineno <input file> <output file>\n");
                return EXIT_FAILURE;
        }

	i = 0;
	buf = (char*)malloc(1024*sizeof(char));
	fin = fopen((const char *)argv[1],"r");
	fout = fopen((const char *)argv[2],"w");
	++i;
	fgets(buf,1024,fin);
	while(!feof(fin)){
		fprintf(fout,"%i %s",i,buf);
		fgets(buf,1024,fin);
		++i;
	}
	fclose(fin);
        fclose(fout);

	free(buf);
	return EXIT_SUCCESS;
}

Det er compilet med (og testet):
gcc -O2 -pedantic -ansi -W -Wall -o lineno lineno.c

Håber, at det var det, du ville have :-)

mvh.
Mads
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFHPU1kPOK1Nn53W9oRAtBDAKCBUANhVIWo8jK+XdtnEcCIxg+fwACfXguB
1fHJNW0dXjzt54NLFVAAD0I=
=Y1mP
-----END PGP SIGNATURE-----


Follow ups