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 - ivancea96

#1221
Sí. En C++ hay que tener más cuidado con eso. Pero en C, malloc retorna dirección que usas para lo que tú quieras

void* temp = malloc(100);

int* tInt = temp;
char* tChar = temp;

int tIntSize = 100/sizeof(int),
   tCharSize = 100/sizeof(char);

tChar[0] = 'h';
tChar[1] = 'o';
tChar[2] = 'l';
tChar[3] = 'a';
printf("%i", tInt[0]);


Puse así un ejemplo porque responder con un "sí" rotundo quedaría feo :P
#1222
PHP / Re: Check tick
27 Mayo 2016, 12:56 PM
Para que un checkbox esté amrcado, le pones el atributo checked="checked"
Código (html) [Seleccionar]
<input type="checkbox" checked="checked" />

En la base de datos, puedes poner lo más parecido a un booleano, por ejemplo, un TINYINT(1).
Luego, en PHP, al escribir el HTML, puedes hacer simplemente:
Código (php) [Seleccionar]
echo '<input type="checkbox"';
if($var)
    echo ' checked="checked"';
echo ' />';


Para que al marcar se modifique en la abse de datos directamente, tendrías ya que usar javascript, capturar el evento oninput, y hacer una petición (o enviar un formulario) a tu PHP.
#1223
En C, no es necesario. En C++, sí. Por esa razón, mi recomendación es ponerlo siempre. Pero esto ya es una opinión.
#1224
Cita de: NOB2014 en 24 Mayo 2016, 19:45 PM
V=( float *)realloc((float *)V,(N+1)*sizeof(float));

En los pocos ejemplos que vi no me parece que estuviera 2 veces en la misma línea el puntero (V) y la otra es ¿no se debería asignar primero con malloc y luego reasignar con calloc? (malloc fuera del bucle do while).
2 veces en la misma línea. ¿Dices que por qué aparece en la misma línea la variable V?
Deja que aclare un poco el código (El (float*) en el primer parámetro es redundante. Estás convirtiendo un float* a float*. En todo caso, tendrías que convertirlo a void*, pero no es necesario):
V = (float*) realloc( V, (N+1)*sizeof(float) );
realloc retorna la nueva dirección de memoria, así que se la asignas al puntero.

No entendí muy bien la segunda pregunta; procedo con:
calloc es igual a malloc, solo que devuelve memoria inicializada toda a 0. No entiendo a qué te refieres con lo de malloc fuera del bucle while. Si realloc recibe un NULL como parámetro, hace lo mismo que malloc.
#1225
El caso aquí es que dicen, textualmente, que negaba el holocausto y arremetía contra feministas y refugiados. Eso sí que es algo deleznable en vídeospúblicos de ese tipo...

Sinó, supongo y espero que no le hubieran cerrado el canal. Eso sí sería de nula cordura por parte de Youtube.
#1226
Cita de: Kaxperday en 21 Mayo 2016, 15:02 PM
En python al llamar una clase te ejecuta su método init() y corre con sus atributos y otros métodos, en c++ ¿como puedo hacer eso?.

Eso viene siendo el constructor. En C++, Java y otros lenguajes, lo haces con un método con el mismo nombre que la clase, sin tipo de retorno. Sobrecargable para los parámetors que quieras, eso sí.
#1227
char **GetCommand(int maxLength) { /*Recibe un comando*/
int argc, secArgc;
char *stdBuffer = (char *)malloc(sizeof(char) * maxLength);
char **stdCommand = (char **)malloc(sizeof(char *) * (maxLength / 2));

argc = secArgc = 0;
stdCommand[argc] = (char *)malloc(sizeof(char) * (maxLength / 4));

fgets(stdBuffer, maxLength, stdin);

while(*stdBuffer) {
if(*stdBuffer == '\n') {
break;
}

if(*stdBuffer == ' ') {
stdCommand[argc][secArgc] = '\0';
stdCommand[++argc] = (char *)malloc(sizeof(char) * (maxLength / 4));
secArgc = 0;
}else
stdCommand[argc][secArgc++] = *stdBuffer;
stdBuffer++;
}
stdCommand[argc][secArgc] = '\0';
free(stdBuffer);
stdBuffer = NULL;

return stdCommand;
}


Lo ideal, es que vayas poniendo un '\0' al final de cada cadena.
Es interesante ver que no tienes forma de saber el numero de argumentos del comando. Tendrás que devolver tambien un entero.
En cuanto al código, reorganicé para 2 cosas:
-1: poner los '\0'
-2: no anexar el espacio a las cadenas. Para eso el 'else'.

Por lo demás, estaría bien que primero calculases la cantidad de argumentos que tiene la cadena, y luego hicieras los malloc. Sinó, tendrás un montón de memoria perdida.
#1228
Programación C/C++ / Re: Circunferencia C++
21 Mayo 2016, 00:31 AM
Está resuelto. ¿Qué problema hay?
#1229
En caso de Windows, podrías crear un proceso y redireccionar los flujos para captarlos con tu programa. Luego, los envías si quieres por sockets, o lo que quisieras.
Creating a Child Process with Redirected Input and Output

En caso de Linux, ahí ya no sé. En el peor de los casos, puedes hacer un system redirigiendo la salida a un archivo con ">archivo" en el comando. Luego, leer el archivo. Sería lo más terco, pero funcional.

Si te quieres centrar en el envío por socket, puedes separar fácilmente el programa principal de la captación de la salida del comando, y ya en un futuro, hacerlo como mejor te convenga.
#1230
No da error porque es correcto. Tal vez en el otro proyecto no enlazaste el código objeto de la librería, no sé.