elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 25
11  Programación / Programación C/C++ / Re: Archivo binario, al leerlo me muestra 2 veces el ultimo registro en: 12 Marzo 2011, 22:43 pm
ent.read devuelve NULL en lugar de *this

Gracias  :D, no sabia esa parte, crei que devolvia *this, y si ponia el failbit en mal estado...

En la ultima lectura se establece failbit

Pero si en la ultima se establece failbit porque esto no funciona?

Código
  1. while(!ent.fail()){
  2.        ent.read(reinterpret_cast<char *> (&aux),sizeof(Personas));
  3.        cout<<aux.getNombre()<<endl<<aux.getEdad()<<endl;
  4.    }

Yo creo que ciertamente devuelve null en vez de *this por el error... pero no establece por si sola el failbit en mal estado...

Hice esto para usar la condicion con good(), no muestre el de nuevo el ultimo registro... Y no poner la lectura en la condicion del while (se ve raro xD)
Código
  1.    while(ent.good()){
  2.        if (ent.read(reinterpret_cast<char *> (&aux),sizeof(Personas)))
  3.            cout<<aux.getNombre()<<endl<<aux.getEdad()<<endl;
  4.        }


Saludos...
12  Programación / Programación C/C++ / Re: Archivo binario, al leerlo me muestra 2 veces el ultimo registro en: 12 Marzo 2011, 21:04 pm
Probe y si funciona pero no comprendo bien que sucede... read() devuelve un flujo, cierto? Cuando haces:
Código
  1. while(!ent.eof() && ent.read(reinterpret_cast<char *> (&aux),sizeof(Personas)))

aca la segunda condicion se cumple siempre y cuando no "lea" el eof...?

Crei que era lo mismo que:

Código
  1. while(ent.good())

Pero nop... Es que acaso el flujo "ent" no se coloca en mal estado cuando lee el EOF?...
13  Programación / Programación C/C++ / Archivo binario, al leerlo me muestra 2 veces el ultimo registro en: 4 Marzo 2011, 04:27 am
Buenas, estaba retomando el tema de archivos pero me quede estancado  :xD

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. class Personas{
  8.    private:
  9.        char Nombre[30];
  10.        int edad;
  11.    public:
  12.        Personas(char *x="",int e=0){
  13.            strcpy(Nombre,x);
  14.            edad=e;
  15.        }
  16.        const char* getNombre() const{
  17.            return Nombre;
  18.        }
  19.        int getEdad() const{
  20.            return edad;
  21.        }
  22.        void setNombre(const char cad[]){
  23.            strcpy(Nombre,cad);
  24.        }
  25.        void setEdad(const int e){
  26.            edad=e;
  27.        }
  28. };
  29.  
  30. void mostrar(){
  31.    ifstream ent("PRUEBA.dat",ios::in | ios::binary);
  32.    Personas aux;
  33.  
  34.    while(!ent.eof()){
  35.        ent.read(reinterpret_cast<char *> (&aux),sizeof(Personas));
  36.        cout<<aux.getNombre()<<endl<<aux.getEdad()<<endl;
  37.    }
  38.    ent.close();
  39. }
  40.  
  41. int main(int argc, char *argv[])
  42. {
  43.    Personas persona("ALGUIEN",50);
  44.    Personas persona2("Otro",20);
  45.  
  46.    ofstream sal("PRUEBA.dat", ios::out | ios::binary);
  47.  
  48.    sal.write(reinterpret_cast<char *>( &persona ), sizeof(Personas));
  49.    sal.write(reinterpret_cast<char *>( &persona2 ), sizeof(Personas));
  50.    sal.close();
  51.  
  52.    mostrar();
  53.  
  54.    system("PAUSE");
  55.    return EXIT_SUCCESS;
  56. }

El programa muestra 2 veces el ultimo registro es decir, muestra:

ALGUIEN
50
Otro
20
Otro
20


Por que?
14  Programación / Programación C/C++ / Re: Fallo de segmentacion con fgets y Array de cadenas. en: 3 Marzo 2011, 03:29 am
Creo que debes asignarle memoria a esas cadenas... O hazlo asi:

Código
  1. typedef char strings[30];

Saludos...
15  Programación / Programación C/C++ / Re: no entiendo los errores que me marca... en: 28 Febrero 2011, 04:06 am
leete el post que se llama "lo que no se debe hacer en C/C++" algo asi,  esta fijo aca en esta sección, es decir esta entre los primeros, ahi te dicen como leer las cadenas de caracteres y te hablan del buffer...
16  Programación / Programación C/C++ / Re: [ANSI C]Ayuda con cadenas de caracteres. en: 27 Febrero 2011, 02:35 am
Pes pon que si no es la primera iteracion de for o muestre con la ',' primero y sino que lo muestre sin la ','...

Saludos
17  Programación / Programación C/C++ / Duda con validacion... en: 26 Febrero 2011, 17:52 pm
En este code... Que valida la entrada de un entero...

Código
  1.   int numero, cont = 0;
  2.   bool continuar;
  3.  
  4.   do {
  5.      continuar = false;
  6.      cin.clear();
  7.      if(cont > 0) cin.ignore(1024, '\n');
  8.      cout << "Introduce un numero: ";
  9.      cin >> numero;
  10.      cont++;
  11.      if(cin.fail() && cin.rdstate()){
  12.         cout << "NO ES UN NUMERO" << endl;
  13.         continuar = true;
  14.      }
  15.   } while (continuar);

Por que 1024? De hecho funciona hasta con 1... yo crei que funcionaria con un simple cin.ignore( '\n');  

Pero nop  :xD

Saludos...

EDIT:

Ya vi el por que, mejor hacerlo asi:

Código
  1. int x;
  2.    do{  
  3.        if (!cin){
  4.            cin.clear();
  5.            while (cin.get() != '\n');
  6.        }            
  7.        cout<<"dame x: ";
  8.        cin>>x;
  9.  
  10.    }
  11.    while(!cin);

 :)
18  Programación / Programación C/C++ / Re: Problema para pasar una lista a fichero con Fwrite en: 20 Febrero 2011, 03:19 am
Creo que debes asignarle memoria a aux en tu funcion...

Saludos...
19  Programación / Programación General / Que uso tienen las hperbolas y los elipses en la programacion en: 7 Noviembre 2010, 22:57 pm
Hola, pes esa es la duda, alguien ha usado, o sabe que uso tienen las hiperbolas o los elipses en la programacion? o en la computacion?...
Existe la posibilidad de que me pregunten eso y no tengo idea  :-\

Saludos...
20  Programación / Programación C/C++ / Re: ploblema al compilar ejercicio en C en: 20 Octubre 2010, 05:48 am
Bueh, solo dire que el hecho de que corra no significa tanto... Pero hazlo como quieras...
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 25
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines