Hei! Minulla on "tietokanta" kanta.dat, on siis ihan tekstitiedosto, muotoa:
1231;Matsa;14365;12;2
2342;Mersu;14724;22;1
3453;Vanha Volkkari;5845;18;5
4564;Sitikka;17603;12;21
Olen vääntänyt ohjelman, joka lukee tiedoston, ja tulostaa siitä taulukon näytölle. Nyt kuitenkin tarvitsisi ohjelman lukea jokin TIETTY rivi, ja niiden arvoja pitäisi muuttaa ja sitten kirjoittaa takaisin VANHAN tiedon päälle muita tietoja tuhoamatta. Pääni olen jo puhki miettinyt ja googlettanut, mutta ongelma ei vaan ratkea. KS. Kommentit:
#include
#include
#include
using namespace std;
int main() {
//muuttujat tiedostotsa lukemista varten
char koodi[40], alv[40], maara[40], hinta[40], nimi[40];
//muuttujat tyyppimuunnosta varten
int ikoodi, ialv, imaara, ihinta, mkoodi;
string rivi;
cout
Tietyn rivin rivin luku tiedostosta/tiedostoon ifstream/ofstream käyttäen.
4
651
Vastaukset
- Torak
Lue tiedosto.
Kysy muuttuva tieto
Sulje tiedosto
Kirjoita kanta.tmp joka sisältää muuttuneen tiedon.
Poista kanta.dat
Uudelleen nimeä kanta.tmp kanta.dat:ksi.- näinhän se
Niin näinhän se varmaan tapahtuu noin suurinpiirtein, mutta suurin ongelma onkin siinä, että mihin se tiedosto sitten saa luettua niin, että siitä pystyy muuttamaan yhden kohdan ja sitten taas kirjoittamaan takaisin?
otetaan esimerkki:
tiedostossa on vaikkapa:
1231;Matsa;14365;12;2
2342;Mersu;14724;22;1
3453;Vanha Volkkari;5845;18;5 - miten tuo tapahtuu?
näinhän se kirjoitti:
Niin näinhän se varmaan tapahtuu noin suurinpiirtein, mutta suurin ongelma onkin siinä, että mihin se tiedosto sitten saa luettua niin, että siitä pystyy muuttamaan yhden kohdan ja sitten taas kirjoittamaan takaisin?
otetaan esimerkki:
tiedostossa on vaikkapa:
1231;Matsa;14365;12;2
2342;Mersu;14724;22;1
3453;Vanha Volkkari;5845;18;5Periaatteen kyllä ymmärrän miten tuo pitäisi hoitaa, mutta sitä, miten ja millä se teknisesti tapahtuu, niin se ei ole kyllä ratkennut.
- HEHEee
miten tuo tapahtuu? kirjoitti:
Periaatteen kyllä ymmärrän miten tuo pitäisi hoitaa, mutta sitä, miten ja millä se teknisesti tapahtuu, niin se ei ole kyllä ratkennut.
Ratkes se homma, ainakin osittain melkein heti kun siitä olin porannut.
Ratkaisu oli lukea rivi kerrallaan, ja sitä mukaa kirjoittaa sitä uuteen tiedostoon. Sitten kun tulee vastaan se rivi, jota muutetaan, kirjoitetaankin uudet tiedot vanhan tiedon sijasta... =D
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1263108
Timo Soini tyrmää Tynkkysen selitykset Venäjän putinistileiristä
"Soini toimi ulkoministerinä ja puolueen puheenjohtajana vuonna 2016, jolloin silloinen perussuomalaisten varapuheenjoht2671265- 1011251
Sulla on nainen muuten näkyvät viiksikarvat naamassa jotka pitää poistaa
Kannattaa katsoa peilistä lasien kanssa, ettet saa ihmisiltä ikäviä kommentteja.651056Nainen voi rakastaa
Ujoakin miestä, mutta jos miestä pelottaa näkeminenkin, niin aika vaikeaa on. Semmoista ei varmaan voi rakastaa. Miehelt791051Kalateltta fiasko
Onko Tamperelaisyrittäjälle iskenyt ahneus vai mistä johtuu että tänä vuonna ruuat on surkeita aikaisempiin vuosiin verr121010- 30956
IS Viikonloppu 20.-21.7.2024
Tällä kertaa Toni Pitkälä esittelee piirrostaitojansa nuorten pimujen, musiikkibändien ja Raamatun Edenin kertomusten ku52947Ikävöimäsi henkilön ikä
Minkä ikäinen kaipauksen kohteenne on? Onko tämä vain plus 50 palsta vai kaivataanko kolme-neljäkymppisiä? Oma kohde mie42914- 44826