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

citanje iz fajlova

[es] :: C programiranje :: citanje iz fajlova

[ Pregleda: 998 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maxmagnus2
VA

Član broj: 3893
Poruke: 192
*.vdial.verat.net



Profil

icon citanje iz fajlova28.09.2004. u 04:24

Zdravo,
potrebno mi je da iz fajla iscitam float brojeve.
Koje funkcije se koriste za ovo?

Ako dobro rezonujem to se radi ovako:
1.otvaranje fajla i citanje reda po reda i ubacivanje u string
2.izdvajanje vise pomocnih stringova (koji su sastavljeni od cifara i zareza )
3.prevodjenje string->float

Radim u VC++ i nije mi bitno koliko toga trba da iscitam po preporuci,
samo da se ne zlopatim sa helpom koji izdaje preeeeevise rezultata...







The sleeper has awaken
28.09.2004. u 04:24 

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 379
*.hidmet.sr.gov.yu.

Sajt: www.hidmet.sr.gov.yu/lati..


Profil

icon Re: citanje iz fajlova28.09.2004. u 09:21
Za vise informacija o tome kako da naucis ono sto te interesuje pogledaj top teme ovog foruma.
online mozes naci totorijale na (samo neki):
http://www.cppreference.com/
http://www.fredosaurus.com/notes-cpp/index.html
http://www.cplusplus.com/
Dok se na snadjes evo ti jedan primer citanja iz fajla mesovitih podataka double i string, pri cemu su podaci razdvojeni blankom.

Test primer fajle "IOcpp.TXT", koju sam ovde koristio izgleda ovako
1.0 2.0 3.0 string1 string2 4.0
5.0 6.0 7.0 string3 string4 8.0
9.0 10.0 11.0 string5 string6 12.0
13.0 14.0 15.0 string7 string8 16.0


Code:

// Windows 2000, Dev-Cpp 4.9.8.9
#include <iostream>    // Input/Output stream class 
#include <sstream>    // Input/output string stream class 
#include <fstream>    // File input/output stream class 
#include <string>        // string class

using namespace std;

int main(int argc, char *argv[]){
    // radi jednostavnosti neka imas nizove:
    double d1[10], d2[10], d3[10], d4[10];    
    string s, ss1[10], ss2[10];
    int i=0;
    ifstream inf("IOcpp.txt");
    istringstream ins;
   while (getline(inf, s)) {
        ins.clear();
        ins.str(s);
        ins>>d1[i]>>d2[i]>>d3[i]>>ss1[i]>>ss2[i]>>d4[i];
        i++;
   }
    inf.close();
    int row=i;

    cout<<"\n*** Kontrolni ispis float nizova ***\n";
    for (int i=0;i<row;i++){
        cout<<d1[i]<<"\t"<<d2[i]<<"\t"<<d3[i]<<"\t"<<d4[i]<<endl;
    }
    cout<<"\n*** Kontrolni ispis string nizova ***\n";
    for (int i=0;i<row;i++){
        cout<<ss1[i]<<"\t"<<ss2[i]<<endl;
    }
    system("PAUSE");    
    return 0;
}

Ali,... ovo ni nece biti dovoljno da naucis C++, ipak ces morati i neku knjigu da procitas.
28.09.2004. u 09:21 

maxmagnus2
VA

Član broj: 3893
Poruke: 192
*.vdial.verat.net



Profil

icon Re: citanje iz fajlova29.09.2004. u 17:39
1.A koje bi mi biblioteke trebale
za #include
ako koristim VC++ CString klasu?
2.
Vec sam koristio u kodu (koji sad nadogradjujem )
<iostream.h> pa mi sa prav probleme ako ukljucim <iostream>.
Pitanje: Da li stringovi mogu da se rade i preko <iostream.h> ?

The sleeper has awaken
29.09.2004. u 17:39 

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 379
*.hidmet.sr.gov.yu.

Sajt: www.hidmet.sr.gov.yu/lati..


Profil

icon Re: citanje iz fajlova30.09.2004. u 16:05
1. Ne znam, ne koristim VC++ (i nisam ga koristio), potrazi u helpu
2. <iostream> se koristi zajedno sa using namespace std;,(koriscenje imenskih prostora)
odluci se za jedan od dva nacina koriscenja:
Code:

//stariji nacin
#include <iostream.h>
//noviji nacin
#include <iostream>
using namespace std;

Citat:
Pitanje: Da li stringovi mogu da se rade i preko <iostream.h> ?

kod mene DA (na sledeci nacin):
Code:

//stariji nacin
#include <iostream.h>
std::string s = "moj string";

//noviji nacin (i lepsi)
#include <iostream>
using namespace std;
string s = "moj string";

Proveri sta ce se desiti u VC++,....
30.09.2004. u 16:05 

Dragi Tata

Član broj: 1958
Poruke: 3885
66.228.70.*

Sajt: www.novetehnologije.com


Profil

icon Re: citanje iz fajlova30.09.2004. u 16:22
Citat:
idb:odluci se za jedan od dva nacina koriscenja:
Code:

//stariji nacin
#include <iostream.h>
//noviji nacin
#include <iostream>
using namespace std;



MSVC++ 7.x više uopšte ne podržava "stariji način".
30.09.2004. u 16:22 

maxmagnus2
VA

Član broj: 3893
Poruke: 192
*.vdial.verat.net



Profil

icon Re: citanje iz fajlova01.10.2004. u 12:32
Hvala,
prevrteo sam nekih 10 (bukvalno)
sajtova koji se bave ovom tematikom i nijedan nema
listing biblioteka koje se koriste,
ali zato imaju gotovo sve ostalo, sto je naravno beskorisno bez hedera.
The sleeper has awaken
01.10.2004. u 12:32 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: citanje iz fajlova01.10.2004. u 12:34
Citat:
Je li to pravilo?
To je standard. Stara imena sa .h su sačuvana samo zbog kompatibilnosti.
01.10.2004. u 12:34 

maxmagnus2
VA

Član broj: 3893
Poruke: 192
*.vdial.verat.net



Profil

icon Re: citanje iz fajlova01.10.2004. u 12:34
Nikad mi ne bi palo na pamet da je
lib bez .h na kraju u stvari noviji.
Je li to pravilo?
The sleeper has awaken
01.10.2004. u 12:34 

maxmagnus2
VA

Član broj: 3893
Poruke: 192
*.vdial.verat.net



Profil

icon Re: citanje iz fajlova01.10.2004. u 14:41
1.Kako da prevedem objekat klase string
u float/double;
Da budem precizniji, znam da postoje f-je tipa atof ali one uzimaju char
kao argument. Moram li da prevodim string->char (sto nemam predstavu kako bih uradio) ili postoji laksi nacin za ovo?
(string->float)


The sleeper has awaken
01.10.2004. u 14:41 

milanche
San Francisco

Član broj: 2447
Poruke: 713
*.client.comcast.net



Profil

icon Re: citanje iz fajlova01.10.2004. u 14:55
atof( ) moze da prihvati CString kao ulazni argument, zato sto CString ima
ugradjeno cast-ovanje na tip char*.

Ovo bi trebalo da radi:

float f;
CString str = "4.123";
f = atof(str);

kao i za promenljive tipa double.


[Ovu poruku je menjao milanche dana 01.10.2004. u 19:10 GMT+1]
01.10.2004. u 14:55 

Dragi Tata

Član broj: 1958
Poruke: 3885
66.228.70.*

Sajt: www.novetehnologije.com


Profil

icon Re: citanje iz fajlova01.10.2004. u 15:22
Ako si mislio na std::string, a ne CString, onda je najlakše da koristiš boost::lexical_cast.

http://www.boost.org/libs/conversion/lexical_cast.htm

A ako te mrzi da downloaduješ Boost, onda možeš npr (zloupotrebljavam Milančetov kod):

Code:

float f;
string str = "4.123";
f = atof(str.c_str());


01.10.2004. u 15:22 

[es] :: C programiranje :: citanje iz fajlova

[ Pregleda: 998 | Odgovora: 10 ]

Postavi temu Odgovori

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