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

citanje iz fajlova

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

[ Pregleda: 3131 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maxmagnus2
none
VA

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



Profil

icon citanje iz fajlova28.09.2004. u 04:24 - pre 238 meseci
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
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: citanje iz fajlova28.09.2004. u 09:21 - pre 238 meseci
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.
 
Odgovor na temu

maxmagnus2
none
VA

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



Profil

icon Re: citanje iz fajlova29.09.2004. u 17:39 - pre 238 meseci
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
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: citanje iz fajlova30.09.2004. u 16:05 - pre 238 meseci
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++,....
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: citanje iz fajlova30.09.2004. u 16:22 - pre 238 meseci
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".
 
Odgovor na temu

maxmagnus2
none
VA

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



Profil

icon Re: citanje iz fajlova01.10.2004. u 12:32 - pre 238 meseci
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
 
Odgovor na temu

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


+3 Profil

icon Re: citanje iz fajlova01.10.2004. u 12:34 - pre 238 meseci
Citat:
Je li to pravilo?
To je standard. Stara imena sa .h su sačuvana samo zbog kompatibilnosti.
 
Odgovor na temu

maxmagnus2
none
VA

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



Profil

icon Re: citanje iz fajlova01.10.2004. u 12:34 - pre 238 meseci
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
 
Odgovor na temu

maxmagnus2
none
VA

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



Profil

icon Re: citanje iz fajlova01.10.2004. u 14:41 - pre 238 meseci
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
 
Odgovor na temu

milanche
San Francisco

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



+1001 Profil

icon Re: citanje iz fajlova01.10.2004. u 14:55 - pre 238 meseci
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]
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: citanje iz fajlova01.10.2004. u 15:22 - pre 238 meseci
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());


 
Odgovor na temu

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

[ Pregleda: 3131 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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