Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - patilanz

#491
Vale pero igual queda la duda si existe diferencia en este caso entre

Código (cpp) [Seleccionar]
time()-3600*24;

strtotime('-1 day');

mktime()-3600*24;


Entre estos 3 hay alguna diferencia y si no cual seria mas rápido?

Saludos
#492
A bueno esto fue un despiste pero si le resto 3600*60 es lo mismo que usar strtotime() ?
#493
Pues.. diferencia entre:

mktime()-3600*60*24
strtotime('-1 day');
#494
Básicamente si vas a usar lightbox se hace con javscript y con php puede ser tan simple como agregar require "paginaConGaleria.html" y ya esta o hacer echo "código fuente..."
#495
Hola comprobé que al utilizar el tiempo devuelvo por mktime(); y luego editar lo en plan de restarle un día(3600*60*12) no es exacto ya que si hago un bucle al final se repiten los días. Por que ?

Saludos
#496
Si efectivamente era el espacio. Muchas gracias pero porque 2 era 544 a que numero corresponde ?
#497
Si no pones ninguna opción se te va el binario ?
Lo del numero puede ser por (char*)&numero ?? Es que debería de funcionar.

También probé con fstream i ofstream pero tampoco:

Código (cpp) [Seleccionar]
ifstream file("data.dat",ios::binary);
ofstream file("data.bat",ios::binary);

#498
Hola lo probé pero al abrir el archivo con notepad me muestra el texto normal y corriente, así debería de ser en binario?

Y al probar lo que me dijiste para guardar un char[100] y un int probe esto:

Código (cpp) [Seleccionar]
fstream file("data.dat",ios::out | ios::binary);
name n;
char text[100]={"cosa"};
int numero=2;
file << text << ' ';
file.write((char*)&numero,sizeof(int));


Código (cpp) [Seleccionar]
fstream file("data.dat",ios::in | ios::binary);
name n;
char text[100];
int numero;
file >> text;
file.read((char*)&numero,sizeof(int));


El texto me lo hace bien pero el por ejemplo para 2 me devuelve 544 y para 54 13856 y no se porque?

Saludos
#499
Ya se que tengo el metodo para cambiar el nombre pero no me refiera a esto si no a que cuando se guardan y quiero que sea un conjunto de informacion con tamano fijo para reemplzar con una posicion exacta tengo que sumar los sizeof() de todos las variables de la clase y guardar los uno en uno y luego al leer los tengo que usar algo así:

Código (cpp) [Seleccionar]
file.seekg((sizeof(int)+1000+sizeof(unsigned short int)+sizeof(double))
file.read(id,sizeof(int))*numero_de_registro);//id=int
file.read(name,1000);//name=char[1000]
...


?

Y para escribir lo mismo.

O también si hago una función que convierte todos los datos en un tipo exacto preparado para ser guardado de una vez en el file. O si hay otro metodo mejor?


@Edit: Me acabo de dar cuenta de que file.read() tiene que ser char* el primer argumento y tengo que convertir el int a char*.

Algo como esto:
Código (cpp) [Seleccionar]
char id[sizeof(int)];
file.read(id,sizeof(int));
#500
La clase name era simplemente por probar, la clase que de verdad queria poner en un archivo es esta:

Código (cpp) [Seleccionar]
class item{
public:
item(){ID=0;}
item(int,string,unsigned short int num,double);
item(const item &);

int showId() const {return ID;}

void changeName(string Name);
string getName() const {return name;}
void changeNum(unsigned short int Num);
unsigned short int getNum()const{return num;}

void changeMoney(double Money);
double getMoney() const {return money;}

int getId()const{return ID;}
private:
int ID;
string name;
unsigned short int num;
double money;
};


Si cambio el string por char [1000] como lo hago sin usar reinterpet_cast.
Porque no te gusta utilizar reinterpet_cast ?

Para leer la clase  seria algo como guardar todos sus variables privadas con un tamano fijo y luego recuperar los uno a uno y meterlos en una clase nueva con sus metodos public ?

Saludos