the code is this
Code: Select all
#include <irrlicht.h>
#pragma comment(lib,"irrlicht.lib")
#include <iostream>
#include <fstream>
#define IRRCHAR const unsigned short
struct JPerfil {
wchar_t alias[80];
wchar_t nombrep[80];
};
#include <iostream>
#include <stdlib.h>
#include <string>
#include "atlbase.h"
#include "atlstr.h"
#include "comutil.h"
using namespace std;
//using namespace System;
void Escribir(const char * nombre)
{
JPerfil me;
//me.alias = L"Mark Solo";
//me.nombrep = L"Marco";
wprintf (me.alias, L"Mark Solo");
wprintf (me.nombrep, L"Marco");
ofstream data_file;
data_file.open(nombre, ios::binary | ios::out | ios::trunc );
data_file.seekp(0,ios_base::beg);
data_file.write((const char *) &me, sizeof me);
data_file.close();
cout << "Archivo escrito correctamente" << endl;
}
int main()
{
const char* filename = "prueba.plb";
int respuesta;
cout << "Escribiendo archivos de perfil de HZII" << endl;
Escribir(filename);
double il,pl;
JPerfil* m_me = new JPerfil[10];
ifstream i(filename, ios::binary); //i.open("prueba.plb", ios::binary );
il = i.tellg();
i.seekg(0, ios::end);
pl = i.tellg();
i.read((char*)m_me, sizeof (JPerfil) * 10);
i.close();
cout << "Archivo Leido exitosamente: " << filename << " pesando "<< (pl-il) << " bytes."<< endl;
using namespace irr;
using namespace core;
IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
core::dimension2d<s32>(640,480));
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* scenemgr = device->getSceneManager();
gui::IGUIEnvironment* gui = device->getGUIEnvironment();
device->setWindowCaption(m_me->nombrep);
std::cout << "Nombre del jugador: "<< m_me->nombrep << std::endl;
gui->addStaticText(m_me->alias,core::rect<s32>(40,20,200,60),true);
while(device->run() && driver)
{
driver->beginScene(true, true, video::SColor(255,0,0,255));
scenemgr->drawAll();
gui->drawAll();
driver->endScene();
}
device->drop();
return 0;
}
the thing is that when i need to get the string values, iget some weird number, i think is the memory address alocated, and not the string..
please help