Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pisanje-citanje u tekstualni fajl

[es] :: C/C++ programiranje :: pisanje-citanje u tekstualni fajl

[ Pregleda: 6363 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fenix

Član broj: 18672
Poruke: 88
*.dslam.ob.bih.net.ba.



+1 Profil

icon pisanje-citanje u tekstualni fajl01.06.2004. u 09:27 - pre 212 meseci
Moze li neko navesti (najbolje konkretan primjer) kako da podatke iz txt fajla ucitam u neki niz (podaci u fajlu odvojeni novim redom) i obrnuto (iz niza snimim u txt fajl)?
 
Odgovor na temu

4063
Zaharije Pasalic

Član broj: 19862
Poruke: 29
*.bbone.utic.net.ba.

Sajt: www.maspic.netfirms.com


Profil

icon Re: pisanje-citanje u tekstualni fajl03.06.2004. u 12:23 - pre 212 meseci
Ako znas koliko ima linija u fajlu, to je jednostavno:

Code:

#define BROJ_LINIJA 100

char *Tabela[BROJ_LINIJA];

void ucitaj() {
FILE *dat = fopen("fajl.txt", "r");
char tmp[200];
     for(int i=0; i<BROJ_LINIJA; i++) {
         fgets(tmp, 199, dat); 
         Tabela[i] = new char[strlen(tmp)+1];
         strcpy(Tabela[i], tmp); 
     }
fclose(dat);
}

void pisi() {
FILE *dat = fopen("fajl.txt", "w");
     for(int i=0; i<BROJ_LINIJA; i++) {
          fputs(tmp, dat); 
fclose(dat);
}


Ako ne znas duzinu fajla u linijama, postaje malo komplikovanije. Jedan nacin je da kosristis listu, a da svaki clan sadrzi jednu liniju.

Drugi nacin je da citav fajl procitas binarno u jedan string. Svaka ce ti linija biti odvojena sa '\n' i/ili '\r'. Pa smisli kako ces skenirati za svoje potrebe. Ovo ti postaje komplikovanije ako pocnes da ubacivas nove linije ili nesto slicno.
 
Odgovor na temu

4063
Zaharije Pasalic

Član broj: 19862
Poruke: 29
*.bbone.utic.net.ba.

Sajt: www.maspic.netfirms.com


Profil

icon Re: pisanje-citanje u tekstualni fajl03.06.2004. u 12:25 - pre 212 meseci
Usput: nisam siguran da gornji kod radi 100%
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pisanje-citanje u tekstualni fajl03.06.2004. u 16:44 - pre 212 meseci
Citat:
kako da podatke iz txt fajla ucitam u neki niz
Kog tipa su podaci?
Koliko ce biti dugacki redovi u TXT fajli (ima li ogranicenja)?
....?
Sve u svemu, daj malo vise podataka....
 
Odgovor na temu

igac
Banjaluka

Član broj: 415
Poruke: 562
*.teleklik.net



+2 Profil

icon Re: pisanje-citanje u tekstualni fajl03.06.2004. u 21:17 - pre 212 meseci
Citat:

Ako ne znas duzinu fajla u linijama, postaje malo komplikovanije.


... ljudi su izmislili EOF za to :)
"nice town, i'll take it..."
 
Odgovor na temu

Fenix

Član broj: 18672
Poruke: 88
*.dslam.ob.bih.net.ba.



+1 Profil

icon Re: pisanje-citanje u tekstualni fajl04.06.2004. u 10:49 - pre 212 meseci
Citat:
idb:Kog tipa su podaci?
Koliko ce biti dugacki redovi u TXT fajli (ima li ogranicenja)?
....?
Sve u svemu, daj malo vise podataka....



Tip podataka, ASCII stringovi (recimo notepad-ov txt fajl).
Redovi su različite dužine, mogu eventualno imati podatak o dužini najdužeg među njima, ako to nešto pomaže.
Poznata je dužina fajla u linijama (broj redova).
 
Odgovor na temu

***ArChAnGeL***
Ivan Stajic
Beograd

Član broj: 18217
Poruke: 17
*.ptt.yu



Profil

icon Re: pisanje-citanje u tekstualni fajl04.06.2004. u 12:25 - pre 212 meseci
Citat:
idb:Kog tipa su podaci?
Koliko ce biti dugacki redovi u TXT fajli (ima li ogranicenja)?
....?
Sve u svemu, daj malo vise podataka....


Nisam bas siguran koga tipa mogu da budu podatci u txt file-u sem char?
 
Odgovor na temu

scud
Novi Sad

Član broj: 6882
Poruke: 47
*.ftn.ns.ac.yu



Profil

icon Re: pisanje-citanje u tekstualni fajl06.06.2004. u 16:43 - pre 212 meseci
Ova tema tacno odgovara mojoj nedoumici... Kako textualni fajl azurirati? Odnosno u datoteku koju smo recimo otvorili za citanje i za pisanje, bi trebao da unesem izmene nekih stringova koji su razlicite duzine, tacnije trebao bi da zamenim kraci string duzim stringom koji se nalazi negde u textu na neodredjenom mestu (znaci treba naci string koji menjamo). Kako ovo izvesti?
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pisanje-citanje u tekstualni fajl07.06.2004. u 10:19 - pre 212 meseci
Ako te problem jos uvek muci, evo ti nesto u C stilu:
Code:
/*Windows 2000, Dev-Cpp 4.9.8.9*/
#include <stdio.h>
#define MAXB 999

struct ss{
    char lin[MAXB];
} my_lin[100];

int main(int argc, char *argv[])
{
    int i=0,j;
    /* Ucitaj redove */
    FILE * fu = fopen( "oldfile.txt", "r" );
    while (!feof(fu)) fgets(my_lin[i++].lin,MAXB,fu);
    fclose(fu);

    /* Upisi redove u drugi fajl */
    FILE * fi = fopen( "newfile.txt", "w" );
    for (j=0;j<i;j++) fputs(my_lin[j].lin,fi);
    fclose(fi);
    system("PAUSE");    
    return 0;
}


Obrati paznju da fgets(..) ucitava i znak za novi red pa ces ga verovatno morati brisati.
 
Odgovor na temu

scud
Novi Sad

Član broj: 6882
Poruke: 47
*.telekom.yu



Profil

icon Re: pisanje-citanje u tekstualni fajl07.06.2004. u 10:59 - pre 212 meseci
Hvala na kodu, ali moje pitanje je bilo kako to izvesti kada otvorimo jednu jedinu datoteku u kojoj je text koji zelimo menjati. Znaci pretpostavka je da je datoteka otvorena sa fopen("datoteka.txt", "r+t") znaci sa opcijom citanje i pisanje u nju istovremeno. Takav kod sto si paste-ovao sam bas i ja napisao, ali ja zelim da ne kreiram novu datoteku. U tome je caka :) Ali ok, kazem hvala jos jednom na kodu, pokusacu nekako da se snadjem.
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pisanje-citanje u tekstualni fajl07.06.2004. u 15:27 - pre 212 meseci
Mozda je ovo resenje:
Klasa wxTextFile (http://www.wxwindows.org/manuals/2.4.2/wx385.htm)
iz wxWidgets-a ( http://www.wxwindows.org/ ) sadrzi funkcije koje mogu da pristupe bilo kojoj liniji u TXT fajlu. Redove mozes brisati, insertovati nove (na bilo koje mesto), dodavati nove na kraj fajla,..

..., naravno sve to radi ako koristis wxWidgets, a ne koristi ga puno ljudi.
 
Odgovor na temu

scud
Novi Sad

Član broj: 6882
Poruke: 47
*.ftn.ns.ac.yu



Profil

icon Re: pisanje-citanje u tekstualni fajl09.06.2004. u 23:52 - pre 212 meseci
Prosto ne mogu da verujem da ne moze to da se izvede pomocu STL-a! Ustvari siguran sam da moze, samo treba znati kako... hmmm
 
Odgovor na temu

Marko Stankovic

Član broj: 11
Poruke: 306
*.rvkds.net



Profil

icon Re: pisanje-citanje u tekstualni fajl10.06.2004. u 18:27 - pre 212 meseci
Mozda postoji i neko elegantnije resenje za tvoj problem ali recimo mozes da stvoris neki privremeni fajl u koji ces da prepises tu datoteku sa izmenjenim sadrzajem i na kraju otvoris prvu datoteku iskljucivo za pisanje, znaci sa rezimom "w" a ne "a", i prepises u nju celu privremenu datoteku.

Ako radis ovako onda ti preporucujem da pogledas funkciju tmpfile, njeno zaglavlje je:

FILE *tmpfile(void);

i zaglavlje se nalazi u stdio.h.

Funkcija kreira privremenu datoteku sa rezimom "w+" koji ce biti obrisan kada budu zatvorene sve reference ka njemu.
Nadam se da ce ti ovo pomoci, ako ne kazi pa da smislimo nesto drugo.
I drink to make other people interesting.
 
Odgovor na temu

scud
Novi Sad

Član broj: 6882
Poruke: 47
*.telekom.yu



Profil

icon Re: pisanje-citanje u tekstualni fajl11.06.2004. u 01:26 - pre 212 meseci
E ok je ovaj tvoj predlog. Tako sam i uradio inace. Samo me je zanimalo da li je moguce intervenisati sve u jednom te istom fajlu koristeci STL.
 
Odgovor na temu

maxydelanoche
maxy delanoche

Član broj: 78435
Poruke: 126



Profil

icon Re: pisanje-citanje u tekstualni fajl21.11.2006. u 15:06 - pre 182 meseci
Kako ucitati podatke iz .txt fajla, tip integer, poznat broj tih int varijabli, ali programski jezik C#???

P.S. Ne znam da li postoji podforum za C# na ES-u, pa sam ovde postavila pitanje.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
89.216.236.*

Jabber: xfiles@elitesecurity.org


+633 Profil

icon Re: pisanje-citanje u tekstualni fajl21.11.2006. u 19:10 - pre 182 meseci
Postoji .NET forum, a C# je deo toga.
 
Odgovor na temu

dragansm
Dragan Smiljanic

Član broj: 38170
Poruke: 191
*.funcom.com.



Profil

icon Re: pisanje-citanje u tekstualni fajl22.11.2006. u 17:24 - pre 182 meseci
Code:

  char text[] = "blabla";
  char buffer[2049];
  buffer[2048] = 0;
  FILE *f = fopen( "c:\\temp.txt", "r+t" );
  if ( f )
  {
    int nRead = fread( buffer, 1, 2048, f  );
    printf( buffer );
    fseek ( f, 0, SEEK_SET );
    fwrite( text, sizeof( text ), 1, f );
    fseek ( f, 0, SEEK_SET );
    nRead = fread( buffer, 1, 2048, f  );
    printf( buffer );
    fclose( f );
  }

Otprilike kako mozes da "pises-brises"
Neko je pomenuo stl (ako sam dobro upamtio)... stl nema nesto preterano veze sa ovim :)
 
Odgovor na temu

Deyan_80
Kragujevac

Član broj: 117038
Poruke: 31
*.uis.kg.ac.yu.



Profil

icon Re: pisanje-citanje u tekstualni fajl14.12.2006. u 12:02 - pre 182 meseci
Da citas iz fajla koristi f-ju fscanf a kao sto je neko pre mene naveo

while(!feof(IMEFAJLA)){

fscanf(IMEFAJLA,"%s",&a)
}

a - promenljiva u koju upisujes stringove

Mozes umesto %s da navedes %c pa ce ti upisivati karaktere.

Ovako ti nije bitno koliko linija imas posto while ide do kraja fajla.
 
Odgovor na temu

[es] :: C/C++ programiranje :: pisanje-citanje u tekstualni fajl

[ Pregleda: 6363 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.