[ Assassin @ 21.05.2002. 13:57 ] @
Hocu da napisem program koji otvara jedan tekstualni fajl i iz njega cita prvu i drugu liniju koje smesta u 2 promenljive. Sto se tice dela za otvaranje fajla nemam nikakvih problema, ali citanja linija i smestanja u promenljive imam. Interesuje me kako se uopste linije mogu izdvajati od ostalih.
[ Jovan Marjanovic @ 21.05.2002. 14:32 ] @
Idi do prve tehnicke knjizare, ili do biblioteke koja ima tehnicku literaturu.
Kupi/pozajmi knjigu koja se bavi bilo C ili C++ programiranjem, i procitaj poglavlje 3. ili je 4.
Gde ti objasne korak po korak kako se otvaraju fajlovi, i kako se citaju linije iz doticnih,
i kako se parsa tekst, i kako se tekst smesta u varijablu.

Ali posto sam poznat po tome da volim da pisem kriptican C kod, evo malog primera:

Code:

#include <stdio.h>
#include <string.h>
int main()
{
FILE *fajl;
char **nesto; //pretpostavimo da nista nece biti duze od 1024 karaktera ...
char *nesto2[1024];
char *token;
char tmpbuffer[1024];
int ii = 0;

fajl = fopen("neki fajl", "r"); //otvori fajl za read only
*nesto = (char *) malloc (1024 * sizeof (char));

while (fgets(tmpbuffer, 1024, fajl)!= NULL)
{
if(strlen(nesto )- 1024 <= strlen(tmpbuffer))
nesto = (char *) realloc(nesto, 1024* sizeof (char));
strncat(nesto, tmpbuffer, 1024);
}

token = strtok(nesto, "\n")
while (token != NULL)
{
strcpy(nesto2[ii], token);
ii++;
token = strtok(NULL, "\n");
}

fprint(nesto2[0]);
fprint(nesto2[1];

fclose(fajl); //zatvori stream
return;
}



Naravno ista stvar moze da se napise na jos bar 30 razlicitih nacina. ovo bi bilo quick and dirty.
takodje imamo funkcije kao sto je fgets, fread ....

ako si na linuxu - man pages
ako si na windozima - MSDN

u svakom slucaju, nauci bar malkice da programiras, tj procitaj koju knjigu pre nego sto pitas pitanja koja su na nivou moje sestre koja je pocela da uci C pre mesec dana.

disclaimer, ovaj kod je napisan cisto onako napamet,
koristiti na svoju odgovornost.


[Ovu poruku je menjao blue dana 21.05.2002 u 02:53 PM GMT]
[ leka @ 21.05.2002. 14:44 ] @
Ja ne bi bio ja ako ne bi malo podjebavao... Naime zasto na Windows-u bas "mora" da se koristi MSDN kad lepo postoji man i na Windows-u! :) Ode se lepo na www.cygwin.com, besplatno totalno za sve normalne programere, cak mozete i Xwindows da startujete sa twm, fvwm2, kde, blackbox...!
[ Dragi Tata @ 21.05.2002. 17:18 ] @
Auuu ljudi, ubiste čoveka u pojam. Ako posle ovoga ne batali kompjutere zauvek, divim mu se.
[ Nemanja Jakovljevic @ 15.05.2003. 01:24 ] @
Taj lik nije batalio kompove, verujte mi:)
[ 6544616a006e @ 15.05.2003. 02:43 ] @
Zapravo je OVO najelegantnije rešenje gore navedenog problema:
Code:

#include <stdio.h>
#include "parser.h"

int main(int argc, char* argv[]) {
  return obradi_fajl(argv[1]);
}


za funkciju obradi_fajl() se obrati meni, uradiću je za flašu dobrog vina...

:)