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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 122
801  Programación / Programación C/C++ / Re: Cuando fgets ensucia el buffer :S en: 21 Mayo 2010, 02:11 am
No hay una manera estándar de hacer lo que quieres. El acercamiento con fgets es valido porque no ensucia el buffer en inputs correctos, eso no implica que no lo ensucie si el input es incorrecto. Obviamente cabe destacar que scanf ensucia el buffer sea el input correcto o no.

Para explicarlo a grandes rasgos, cualquier tarea I/O de datos pasa a través de diversos estados. En un nivel mas bajo, es el SO (Alguna capa de abstracción para I/O, o como sea que lo implemente el SO determinado) quien se encarga de las interfaces entre los dispositivos, como por ejemplo el teclado, por lo tanto dichos aspectos son inherentes a cada sistema y no pueden abarcarse todos en un estandar. La idea de las funciones de stdio es tener funciones portables que sirvan para las tareas básicas con esos streams de datos, ahora bien, descartar datos de stdin no es una de esas tareas.

fflush con stdin acarrea comportamiento indefinido, el mero hecho que funcione es simplemente porque algunos fabricantes lo implementan para que funcione, y eso indica claramente la carencia de portabilidad. Similar ocurre con setbuf, como bien dijiste, ya que usarlo de esa manera también acarrea comportamiento indefinido.

El mejor acercamiento es o bien usar un buffer lo suficientemente grande para evitar errores no intencionales y validar el input correctamente para evitar otros errores (intencionales o no). También por supuesto otro acercamiento valido es usar las funciones especificas de cada sistema operativo o implementar tus propias funciones.

Una forma bastante precaria para salir del paso en un descarte simple del input seria algo así:

Código
  1. char cad[5],C;
  2. fgets(cad,5,stdin);
  3. puts(cad);
  4. while((C = getchar()) != '\n' && C != EOF)
  5. ;

pero por supuesto para desarrollos serios lo ideal seria usar funciones especificas del sistema o desarrollar tus propias implementaciones de dichas funciones (En caso que requieras un control mas estricto del manejo de datos)

Saludos!
802  Foros Generales / Foro Libre / Re: ¿Cuantas horas dormis al dia? en: 20 Mayo 2010, 23:52 pm
Claro, esto lo ví en un documental en discovery hace tiempo ya .. el que el mínimo pero no óptimo para estar "bien" eran 4 ...  (y que lo aconsejable eran creo que 6 horas y media)
pero, claro está que depende mucho de la persona ... a mí entender los principales factores son la actividad física, mental (incluyendo aprendizajes) y la química (si hay consumo de hipnóticos o antihipnóticos o algún desequilibrio químico)

Citar
Tampoco quiero iniciar un debate sobre las horas mínimas de sueño, simplemente sacar el manto de competencia sobre quien tiene mas insomnio porque es un desorden grave que en la medida de lo posible tiene que ser tratado.

Últimamente ando con insomnio, y no es nada lindo por que no rindo como quisiera =(

Saludos.

P.S: Littlehorse, tampoco lo pongas en esas palabras, tiende a sonar despectivo xD

Despectivo en que parte? igualmente sea en la parte que sea perdón si se tomo así, no era la idea. Simplemente quería aclarar que es un trastorno muy común y por esa razón no se le presta la atención que merece.

Lo grave del insomnio es que de por si no indica nada mas que otro problema subyacente. Dichos problemas subyacentes no suelen ser graves, pero lo malo es que generalmente es culpa nuestra y necesitan de nuestra voluntad para solucionarlos. La mala alimentación por ejemplo, tal vez tuviste la misma alimentación toda tu vida y el insomnio te agarra recién ahora, por lo tanto sin un medico que te revise lo que menos se te va a ocurrir es que la comida tiene algo que ver.

Hay causas que no son tan sencillas ni tampoco tan comunes, como el estrés crónico, que puede producir insomnio por un periodo bastante prolongado. Y si exageramos e intentamos abarcar todas las posibilidades, el daño cerebral también puede producir insomnio.

En cualquiera de los casos el insomnio debe ser tratado, el descanso es fundamental!


Saludos!
803  Foros Generales / Foro Libre / Re: ¿Cuantas horas dormis al dia? en: 20 Mayo 2010, 23:05 pm
El mínimo mínimo mínimo puede ser muy diferente dependiendo de las características físicas ya que obviamente los estudios siempre dan valores aproximados. Pero suponiendo que el MIN sea 4 horas (lo cual dudo que aplique correctamente en el día a día, pero te creo porque se que lo habrás leído), varios corren por la cuerda floja y la verdad no creo que en todos caso sea necesario llegar a esos extremos.
En algunos casos obviamente no habrá alternativa que dormir tan poco, pero yo por lo menos asumo que no es el caso de la mayoría de los que están posteando ya que desde el vamos uno no tendría que estar posteando si no aprovechando los minutos libres para descansar un poco, de lo contrario lo mínimo que se tiene es un desorden de sueño.

Tampoco quiero iniciar un debate sobre las horas mínimas de sueño, simplemente sacar el manto de competencia sobre quien tiene mas insomnio porque es un desorden grave que en la medida de lo posible tiene que ser tratado.

Saludos!
804  Foros Generales / Foro Libre / Re: ¿Cuantas horas dormis al dia? en: 20 Mayo 2010, 22:39 pm
Pero entre 6 y 8 horas esta perfecto. Algunos cuerpos necesitan distinta cantidad de descanso para recuperarse, pero 3 horas como norma básica diaria es básicamente imposible sin estar como un zombie o sin recaer en uno de esos sueños de 15 horas cada tanto.

A lo que voy, es que varios están diciendo a ver quien duerme menos horas como si fuese una competencia y la realidad es que menos de 6 o 5 horas en forma regular indica otra problemática. Ningún cuerpo aguanta tanto tiempo durmiendo tan poco.
Si estudias, a la larga sin haber descansado la memoria no es la misma. Si trabajas no rendís lo mismo ni de broma. Si haces alguna actividad física, tenes muchas probabilidades de lesionarte si no mantenes el descanso apropiado. Y si tenes una novia, bueno, mejor no aclaro donde puede venir el problema.

Yo también duermo 6 horas, y si, a veces duermo menos, pero de ahí a que este fresco durmiendo menos de 6 horas hay un largo trecho. Créeme cuando te digo que nadie esta fresco durmiendo 3 horas, es físicamente imposible, al menos que en el medio haya drogas u algún desorden (lo cual, en ambos casos debería ser tratado en forma urgente)
En la adolescencia tal vez es posible y puede deberse a causas naturales, en edades un poco mas maduras (24 para arriba, por poner un ejemplo) esa escasez de sueño puede producir daños graves a largo plazo (musculares, cardiologicos he incluso cerebrales) así que yo por lo menos me lo pensaría 2 veces antes de dormir 3 horas diarias en un periodo prolongado.

Saludos!
805  Foros Generales / Foro Libre / Re: ¿Cuantas horas dormis al dia? en: 20 Mayo 2010, 22:22 pm
Yo por lo menos a mas de uno no le creo. Es bastante imposible tener una vida medianamente normal (estudios, trabajo, una novia de ser posible, alguien dijo actividad física también?) y dormir 3 y 4 horas por día como norma general.
Suceden dos cosas que pueden darse por separado o en forma simultanea: O bien estas hecho un zombie 24x7, o en cuanto llega el primer día libre duermes 35 horas al hilo.

Eso de dormir 2 horas por día y vivir así como si estuviese todo bien solo es posible si básicamente lo único que haces es jugar en el pc.

Supongo que alguno se lo tomara como chiste de "Duermo 2 horas  ::)" "Estoy 3 semanas sin dormir y todavía sigo  ::)" pero la realidad es que ambas cosas solo son posibles con drogas o a causa de alguna deficiencia y/o desorden personal, que por cierto, puede tener graves consecuencias para la salud a largo plazo. Así que, como consejo, si tienen entre 15 y 18, ok, si tienen mas, vayan a un medico.

Saludos!
806  Programación / Programación C/C++ / Re: Control de impresion en: 20 Mayo 2010, 22:11 pm
Expone el código que llevas hecho a ver si te podemos ayudar. En esta sección no se hacen tareas ni trabajos!

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Saludos
807  Programación / Programación C/C++ / Re: Problemas con array (unidimencional) de caracteres [C++] en: 20 Mayo 2010, 22:09 pm
No, si te fijas en el post queda demasiado claro que una cosa no tiene nada que ver con la otra.

realloc y toda su familia puede utilizarse, pero como te dije antes, no seria lo ideal y mucho menos cuando tratamos con objetos. Lo ideal seria usar un contenedor apropiado.

Ahora bien, respecto de los contenedores (vector por ejemplo) supongo que alguna vez te habrás preguntado como implementan el manejo de memoria dinámica, y es ahí donde entran los allocators. A grandes rasgos es una interfaz común para que los distintos tipos de contenedores no tengan que preocuparse específicamente sobre el manejo de memoria dentro de su implementación.
Para mas información sobre eso busca sobre allocators -STL-.

Saludos!
808  Programación / Programación C/C++ / Re: Problemas con array (unidimencional) de caracteres [C++] en: 20 Mayo 2010, 07:40 am
Me sorprende que no entiendas porque necesitas reservar memoria primero para cad. En el primer código que pusiste, adonde apunta cad? cual es la longitud que devuelve strlen? cual es el contenido de cad? si te planteas esas preguntas entenderás porque cad necesita ser mas que un puntero que apunta a cualquier parte.

En cualquiera de los casos la mejor opción es usar un contenedor apropiado, podes usar allocators, pero a la larga harías algo similar a un contenedor pero con mas probabilidades de error.

También podes recurrir a las malas practicas y usar realloc y su familia, pero obviamente ese tipo de funciones no son muy amigas de los objetos al desconocer conceptos básicos como los constructores. Pero en fin, como poder, podrías usarlas siempre y cuando no mezcles new/delete con malloc/realloc/free.

Saludos!
809  Programación / Programación C/C++ / Re: Pasar parametros entres dos ejecutable. en: 20 Mayo 2010, 07:06 am
Si, se puede. En procesos relacionados y en el mismo host podes usar anonymous pipes. En procesos no relacionados y a través de una red podes usar named pipes. En ambos casos necesitas dos en caso que quieras transmitir información en ambas direcciones.
Para mas información busca sobre IPC.

Se vale no hacer doble post.

Saludos
810  Programación / Programación General / Re: VB.NET o C ? en: 20 Mayo 2010, 06:42 am
En su momento no había tantos buenos programadores en C++ como los había en C, y al día de hoy sucede mas o menos lo mismo. La diferencia es que en la actualidad el potencial de C++ es aprovechado, los compiladores están optimizados, y los programadores intentan mejorar sus habilidades con ese lenguaje ya que de por si es un lenguaje mas difícil de asimilar que C.
Todo el que este familiarizado con C++ sabe sus ventajas, y el que no, simplemente no conoce C++.

Programar un kernel en C o en C++ no lo hace mas rápido de por si, el diseño lo hace.
Tal vez en C generas código mas limpio y legible, pero eso depende bastante mas de quien lee el código y de quien lo programa.

Ahora bien, si vas a reescribir un kernel entero se supone que tendrías que rediseñar varios aspectos para poder sacarle partido a las características de C++, de lo contrario mucho sentido no tiene. No seria bueno tampoco que quede una mezcla de C/C++ así que o bien reescribís todo o no reescribís nada.

Cabe aclarar que la orientación a objetos no es un paradigma exclusivo de C++. Depende mas que nada de la técnica utilizada y los requerimientos básicos son objetos con un estado privado interactuando entre si, mediante message passing. Poder, podes en casi cualquier lenguaje, la diferencia fundamental es que C++ te facilita la tarea en ese aspecto.

De cualquier manera hablar de programar un kernel eficiente es fácil pero desarrollarlo es otro cuento. Antes de pensar en el lenguaje se quieren muchas teorías, conocimientos y experiencias sobre el tema. Sin eso el resultado va a ser puro bloatware independientemente del lenguaje que uses.

Ahora bien, si ya leíste bastante documentación sobre el tema -Libros, códigos open source, experiencias de otros etc- ya es hora de poner las manos en el asunto y para eso necesitas conocer a la perfección el/los lenguaje que planeas utilizar (en pos que sea una herramienta útil y no un impedimento en el desarrollo).

Dicho eso, C++ debería ser la mejor opción siempre y cuando se lo sepa utilizar correctamente.

Saludos

Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines