Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 4.477 pregleda

Najnovija ↓

Citanje linija iz tekstualnog fajla 21.05.2002. u 14:57 · pre 297 meseci #1
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.
Re: Citanje linija iz tekstualnog fajla 21.05.2002. u 15:32 · pre 297 meseci #2
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]
Potpis
Za automatsko dobijanje Super Moderatorskog statusa na Elitesecurity forumima pritisnite Alt+F4
Re: Citanje linija iz tekstualnog fajla 21.05.2002. u 15:44 · pre 297 meseci #3
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...!
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: Citanje linija iz tekstualnog fajla 15.05.2003. u 03:43 · pre 285 meseci #6
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...

:)
Potpis
---
GNU's Not UNIX
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme