Buenos días. Necesito ayuda, tengo un CHAR la cual tengo que abrirle dependiendo de las necesidades más espacio con memoria dinamica, el problema es que no funciona. Solo me almacena el último dato.
Código C:
Ver original#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
#define PATH_PORTS "/usr/ports/"
int main(int argc, char *argv[]) {
DIR* PORTS_DIRECTORY;
struct dirent *PORTS_FILES;
char* PORTS;
int PORTS_SIZE = 0;
if ((PORTS_DIRECTORY = opendir(PATH_PORTS)) != NULL) {
while ((PORTS_FILES = readdir(PORTS_DIRECTORY)) != NULL) {
if (*PORTS_FILES->d_name == '.') {
continue; }
PORTS
= malloc((strlen(PORTS_FILES
->d_name
)+PORTS_SIZE
)*sizeof(char)); // I need add in the array more space, but only add the last date from PORTS_FILES->d_name PORTS_SIZE
= strlen(PORTS_FILES
->d_name
); strcat(PORTS
, PORTS_FILES
->d_name
) }}