Hai!
Miten voisin lukea tiedoston muistiin niin, että huolimatta siitä mikä on tiedoston tyyppi (ascii/unicode), niin se tallennettaisiin aina tchar muotoon (tchar muuttuu char:n ja wchar_t:n välillä riippuen määrityksistä).
eli
tchar * buf = 0; int main() { FILE * fp = avaa("tiedosto.txt", "r"); buf = new tchar[TiedostonKoko(fp)+1]; memset(buf, 0, TiedostonKoko(fp)+1); lue(fp, buf); fclose(fp) // Tee jotain delete [] buf; return 0; }
Miten tuon saisi toimimaan niin, että huolimatta siitä onko tchar char tai wchar_t ja onko tiedosto.txt unicode tai ascii tyyppiä, niin tiedosto luettaisiin onnistuneesti.
Taisi tulla ehkä hieman sekava sepustus, mutta toivottavasti ymmärsitte.
Mod. lisäsi kooditagit
Sinun täytyy tunnistaa, kumpi tiedostomuoto on kyseessä, lukea se ensin alkuperäisessä muodossa ja muuntaa data haluamaasi muotoon esimerkiksi for-silmukalla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.