Mistäkähän johtuu, ettei seuraava koodinpätkä toimi toivotulla tavalla.
Ohjelman olisi tarkoitus kirjoittaa tiedoston loppuun, mutta jostain syystä se aloittaa kirjoittamaan tiedoston alusta?
Eli haluttu tulostus tiedostoon tällä ohjelmalla olisi:
Tämä on testi
joka
ei
toimi.
mutta tiedostoon tulostuukin pelkästään viimeinen tulostus eli:
toimi.
missä vika?
#include
#include
#include
#include
#include
using namespace std;
#define FILEE "c:\temp\kys.txt"
int kirjoita_tdston_loppuun_string(const char *filename, string );
int kirjoita_tdston_loppuun(const char *filename, const char* mita);
int kirjoita_tdston_loppuun(const char *filename, const char* mita)
{
ofstream tied;
tied.open( filename, ios_base::ate );//osoitin loppuun
tied
Ohjelman olisi tarkoitus kirjoittaa tiedoston loppuun, mutta jostain syystä se aloittaa kirjoittamaan tiedoston alusta?
Eli haluttu tulostus tiedostoon tällä ohjelmalla olisi:
Tämä on testi
joka
ei
toimi.
mutta tiedostoon tulostuukin pelkästään viimeinen tulostus eli:
toimi.
missä vika?
#include
#include
#include
#include
#include
using namespace std;
#define FILEE "c:\temp\kys.txt"
int kirjoita_tdston_loppuun_string(const char *filename, string );
int kirjoita_tdston_loppuun(const char *filename, const char* mita);
int kirjoita_tdston_loppuun(const char *filename, const char* mita)
{
ofstream tied;
tied.open( filename, ios_base::ate );//osoitin loppuun
tied
Vastaukset 2
Vanhimmat
En ole varma, mutta luullakseni avaat tiedoston siten, että tiedostossa jo oleva tieto menetetään. En tosin tiedä, miten lähdekoodia pitäisi muuttaa, mutta todennäköisesti virhe on rivillä 'tied.open( filename, ios_base::ate );'. Käsittääkseni jälkimmäinen parametri pitäisi antaa jollakin toisella tavalla.
kato otsikko