Kernel Error
C/C++

¿Cómo iterar en sentido contrario?

22 de Mayo del 2010 por Llyn · 1 Comentario 

Respuesta: reverse_iterator
Leer Mas

Sobre punteros, memoria dinámica y otras hierbas alucinogenas.

11 de Abril del 2010 por Kalith · Deja un comentario 

“La gestión manual de bloques de memoria en C es como hacer malabarismos con pastillas de jabón en la ducha de la prisión: todo diversión hasta que cometes un fallo”

Empezando con esta conocida frase de humor vamos a empezar a tocar un tema bastante rudo, sobre todo para los nuevos en este mundo, confieso que tengo una experiencia en mi trabajo como acesor me toco explicar entre otras cosas memoria dinámica y no me fue del todo bien. Ok supondre que nuestro lector, ya sabe el concepto de puntero y no me detendre a tratar esos detalles.
Leer Mas

Enviar emails con Visual C++ .NET

21 de Marzo del 2010 por Kalith · 3 Comentarios 

Despues de tiempo sin escribir (ya se me acabaron las excusas asi que no dire otra), pues retomo los menesteres del blog. Realmente el post es bastante sencillo, es una pequeña clase para enviar emails a través de .NET especificamente de visual c++ la cual me toco hacer para un proyecto de la empresa donde trabajo, puede ser portado sin mayor dificultad a c#, vb.NET o cualquier lenguaje que este soportado por el framework.
Leer Mas

It’s time to choose

16 de Febrero del 2010 por Llyn · 3 Comentarios 

Digamos esto, dado un valor quieres hacer algo. Ejemplo,

enum {
	John, Paul, Ringo, George
} quien_fue = Paul;

switch (quien_fue) {
	case John: cout << "Fue John." << endl; break;
	case Paul: cout << "Fue Paul." << endl; break;
	case Ringo: cout << "Fue Ringo." << endl; break;
	case George: cout << "Fue George." << endl; break;
};

Leer Mas

Instalar boost en visual studio

3 de Enero del 2010 por Kalith · 1 Comentario 

Todos los rumores eran falsos, ni fuimos encarcelados por gente de la NSA, ni se había vendido el blog a algun jeque de dubai, ahora si en serio despues de varios intentos fallidos por integrar boost (creo que no necesita presentación) con visual studio pues encontre una forma super sencilla de hacerlo (como me gusta) en fin se trata de un pequeño instalador que han desarrollado en esta empresa el cual esta disponible y es de libre descarga solo hay que registrarse, una vez descargado solo es seguir las intrucciones el automaticamente descarga todo lo necesario, preguntara cosas como para que version de visual studio, que mirror de descarga etc, en vista de lo corto del post y ya que tengo mucho tiempo libre esta noche pues pondre algunas capturas.

Leer Mas

Transformar numero de base n a base k

20 de Septiembre del 2009 por Kalith · 1 Comentario 

Buenas.
Realmente lo que trata este post es poder transformar un número en cualquier base a cualquier otra base siempre que estas bases no sean mayor a 16, hace tiempo en un viaje venía hablando con Llyn sobre ello, el trabajaba en algo a mayor escala, puesto que si no mal recuerdo los numeros de bases no tenia limitaciones. Leer Mas

Especialización de Plantillas

14 de Septiembre del 2009 por Llyn · 2 Comentarios 

En este tema, trataré la especialización de plantillas de manera general.

Antes que todo, recordemos que una plantilla permite aplicar procedimientos comunes con distintos tipos de datos sin tener que reescribir el código. Podemos tener como ejemplo la clase de STL, std::vector<T>. Con la especialización de plantillas, en cambio, se permitir definir procedimientos o estructuras para casos particulares. Tal es el caso de std::vector<bool> en la librería STL que utiliza menos espacio que la clase genérica. Leer Mas

Portapapeles en Windows

20 de Agosto del 2009 por Llyn · 3 Comentarios 

Unos 135 días desde mi último post, pero quien los cuenta.

Bien, en vez de explicar el cómo utilizar el portapapeles mediante Win32 (relativamente no tan largo, pero no vale la pena), presentaré la clase newcastle::clipboard, la cual nos permitirá manejar en un programa de C++ operaciones básicas del portapapeles de Windows en tiempo de ejecución sin requerir de mucho código. Para su uso se incluyen dos archivos al proyecto, clipboard.h y clipboard.cpp. El primero declara el objeto clipboard y sus operaciones en el nombre de espacio newcastle, y va a ser el archivo a incluir para el uso de la clase. Leer Mas

Barra de progreso con ncurses

4 de Julio del 2009 por Kalith · Deja un comentario 

Buenas.
Pues eso una barra de progresos, no crean que usa algun toolkit gráfico a lo qt, gtk etc, se hace desde la consola, solo requiere la libreria ncurses.

Por alguna extraña y misteriosa razón la funcion sleep (perteneciente a ncurses) no compila si no esta la cabezera de iostream, no tengo idea porque pasa esto, tal vez sea un problema en mi linups.

para compilar con ncurses

g++ app.cpp -lncurses -o app
#include <iostream>
#include <ncurses.h>

using namespace std;

int main(void)
{
	initscr();

	printw("Barra de progreso: ") ; 

	for(int i = 1; i <= 25; i++)
	{
		move(2, 0);
		printw("[");
		move(2, 26);
		printw("]");
		move(2, i);
		sleep (1);
		printw("=");
		refresh();
	}

	sleep(2);
	endwin();
}

espero que les sea de utilidad saludos

Permutaciones en c++

7 de Junio del 2009 por Kalith · 2 Comentarios 

Buenas.

Antes que nada aclarar que combinaciones y permutaciones no son lo mismo, el que quiera una explicación sobre esto, aquí no la encontrará, ok una permutación (segun la wikipedia) “cada una de las posibles ordenaciones de los elementos de dicho conjunto”.

Por ejemplo:
Leer Mas

Siguiente »

Kernel Error
97 intentos de ataques detenidos