Novo

Forum kao aplikacija na telefonu

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

  • 10 odgovora
  • 4.054 pregleda

Najnovija ↓

citanje iz fajlova 28.09.2004. u 05:24 · pre 269 meseci #1
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...






Potpis
The sleeper has awaken
Re: citanje iz fajlova 28.09.2004. u 10:21 · pre 268 meseci #2
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.
Re: citanje iz fajlova 29.09.2004. u 18:39 · pre 268 meseci #3
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> ?
Potpis
The sleeper has awaken
Re: citanje iz fajlova 30.09.2004. u 17:05 · pre 268 meseci #4
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++,....
Re: citanje iz fajlova 30.09.2004. u 17:22 · pre 268 meseci #5
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".
Potpis
IOCC
Re: citanje iz fajlova 01.10.2004. u 13:32 · pre 268 meseci #6
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.
Potpis
The sleeper has awaken
Re: citanje iz fajlova 01.10.2004. u 13:34 · pre 268 meseci #7
Citat:
Je li to pravilo?
To je standard. Stara imena sa .h su sačuvana samo zbog kompatibilnosti.
Re: citanje iz fajlova 01.10.2004. u 13:34 · pre 268 meseci #8
Nikad mi ne bi palo na pamet da je
lib bez .h na kraju u stvari noviji.
Je li to pravilo?
Potpis
The sleeper has awaken
Re: citanje iz fajlova 01.10.2004. u 15:41 · pre 268 meseci #9
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)

Potpis
The sleeper has awaken
Re: citanje iz fajlova 01.10.2004. u 15:55 · pre 268 meseci
izmenjeno 1 put, poslednji put milanche 01.10.2004. u 19:10
  1. milanche01.10.2004. u 19:10zapis iz teksta poruke
#10
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme