voiko tiedostosta lukea suoraan int tyyppiin, koska
olisi tarkoituksena lukea tiedostosta vain numeroita.
koodi menee nyt jotenki näin:
(char apu[80]; näin toimii tekstinä, mutta ) int apu; onko tämä mahdollista??? ifstream lukutied("D:\\xxxx\\jotaki.txt"); ... lukutied.getline(apu, 80); tässä vaiheessa tulee herjaa jos on tuo int apu;
tai mites muunnetaan char to int (jos lukee merkkijonoon numerot). Ja nimenomaan silleen ettei se lue mitäään ascii-koodilukuja, vaan ne numerot jotka siellä luettavassa tiedostossa on.
aika sekavaa, mutta koittakaa kestää...
mikset laita että
int apu;
ja
cin>>apu;
ja sitten tallentaa
ofstreamilla ja tulostaa ifstreamilla?
ja miksi sulla on taulukossa se apu? ku tallennat?
Cin>>apu ei ainakaan auta, kö ohjelman pitää hakea lukuja lähdetiedostosta, tehdä niillä laskutoimituksia ja tallettaa tulos eri tiedostoon.
Perimmäinen kysymys kuitenkin on, että voiko tiedostosta lukea int-tyyppiseen muuttujaan numeroita. Ilmeisesti voi, mutta sitten tuo getline antaa virheen:
error C2664: 'class istream &__thiscall istream::getline(char *,int,char)' : cannot convert parameter 1 from 'int [80]' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Ilmeisesti tuo getline ei huoli inttiä vai mikähän siinä sitten on?!?!
määki en iha tiiä mutta getline on kyl merkkijonoille.
-entäs löysin tollasen ku int_type get() on kokonaislukutyyppi johon voi tall minkä merkin tahans...
char-numeroitten muuttaminen inttiin:
int luku
char numero = MUUTETTAVA_CHAR
luku = (int)numero - 48
tuli mieleen pari kysymystä:
-miksi sun pitää sillä getlinella pelata?
-syötätkö sä yksittäisiä lukuja, ja tallennat ne
tiedostoon vai mitä siinä hommassa tehdään?
-ja mitä laskutoimituksia siinä tehdään.
-miksi tulokset pitäs myös tallentaa?
eikös ne tulokset päivittys muutenkin, ku tiedot on jo tallessa?
no kö olen aika vasta alkanu c++lla tiedostonkäsittelyä harjotteleen. Tiedän lisäksi ainaki .read vunktion, mutta en ole jaksanu sen enempää perehtyä vielä siihen. Pitää koittaa tuota muunnosmenetelmäää ensimmäiseksi.
onnistuipas tyypinmuunnos charrista intiksi
n=n+atoi(apu);
ja tallennetaan n sitte tiedostoon. huhh!
Aihe on jo aika vanha, joten et voi enää vastata siihen.