Hejka. Mam taką małą prośbę. Chciałabym poprosić o sprawdzenie tego krótkiego kodu, ponieważ program nie realizuje polecenia, ale też nie wyświetla żadnych błędów. W konsoli jest napisane "Zbyt mało argumentów. Spróbuj jeszcze raz."
Treść polecenia:
Opracować program wczytujący z wiersza poleceń nazwę pliku i liczby oddzielone spacją i
wyświetlający na ekranie wiersze z tego pliku o podanych numerach. Można założyć, że wszystkie
wprowadzane dane będą poprawne. Przykładowo dla wiersza poleceń:
$ prog plik_we.txt 1 3 5 oraz zawartości pliku plik_we.txt postaci:
aaa
bb
ccc
dd
eee
ff
program powinien wyświetlić:
aaa
ccc
eee
Próba napisania:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char** argv)
{
if(argc < 3)
return printf("Zbyt malo argumentow! Sprobuj jeszcze raz.\n");
FILE *plik = fopen(argv[1], "r");
char *tab = calloc(255, sizeof(char));
int i, nr_wiersza=0;
while(!feof(plik))
{
++nr_wiersza;
if(fgets(tab, 255, plik) == NULL) continue;
for(i=0; i<argc; i++)
if(nr_wiersza == atoi(argv[i]))
printf("%s",tab);
}
free(tab);
fclose(plik);
return 0;
}
Byłabym bardzo wdzięczna za pomoc. :)