Closed JIGutierrez closed 5 years ago
¡Hola!
El problema, probablemente, es cómo estás asignando el nombre. Como es un arreglo (i.e. un puntero a caracteres), no se puede asignar de esa forma. Para eso, está la función strcpy
de la librería string.h
:
...
#include <string.h>
...
int main(...){
...
char process_name[255];
...
strcpy(p -> name, process_name);
...
}
Ojo que ahí ocupo char process_name[255]
porque eso me define un puntero con espacio para 255 caracteres, con la gracia de que no necesito liberar la memoria ocupada por ese arreglo al final de mi programa, se hace de forma automática.
¡Dime si eso te funciona!
PD: En el ejemplo se asume que process_name
ya tiene el nombre del proceso.
Hola! Un pedazo de mi programa funciona asi...
Mi idea es poder cargarlo, y luego, en otra funcion, hago
Sin embargo, valgrind me dice que se perdieron 255 bytes (entre otros) en la primera funcion, y, logicamente, si hago
free(process_name)
me salen errores en todos lados.Que estoy haciendo mal? Gracias de antemano :)