Muchisimas gracias Fw, tengo una duda referente al tema. Leí un poco acerca de realloc, logre hacero funcionar pero guiandome por otro ejemplo, por lo tanto no entiendo por que funciona así y a mi modo no.
Así fue como lo hice funcionar pero dejandome llevar por otro ejemplo.
Código C:
Ver originalint 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; }
if (PORTS_SIZE == 0) {
strcat(PORTS
, PORTS_FILES
->d_name
); } else {
strcat(PORTS
, PORTS_FILES
->d_name
); }
PORTS_SIZE
+= strlen(PORTS_FILES
->d_name
); }}
Y así es a mi forma que no funciona.
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_SIZE
+= strlen(PORTS_FILES
->d_name
); strcat(PORTS
, PORTS_FILES
->d_name
); }}
¿Tengo que asignarle algo a PORTS antes de usar realloc? iniciandole algo tampoco me funciona.
Saludos.