Объединение файла с путем, чтобы получить полный путь в C

Используя C, я 'Я пытаюсь объединить имена файлов в каталоге с их путями, чтобы я мог вызвать stat () для каждого, но когда я пытаюсь использовать strcat внутри цикла, он объединяет предыдущее имя файла со следующим. Это'с изменением argv [1] во время цикла, но у меня нетЯ долгое время работал с C, поэтому яЯ очень смущен ...

#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[]) {
 struct stat buff;

 int status;

 if (argc > 1) {
  status = stat(argv[1], &buff);
  if (status != -1) {
   if (S_ISDIR(buff.st_mode)) { 
     DIR *dp = opendir(argv[1]);
     struct dirent *ep;
     char* path = argv[1];
     printf("Path = %s\n", path);

     if (dp != NULL) {
       while (ep = readdir(dp)) {
       char* fullpath = strcat(path, ep->d_name);
       printf("Full Path = %s\n", fullpath);
     }
     (void) closedir(dp);
   } else {
      perror("Couldn't open the directory");
   }
 }

  } else {
   perror(argv[1]);
   exit(1);
  }
 } else {
   perror(argv[0]]);
                exit(1);
 }

 return 0;
}

Ответы на вопрос(4)

Ваш ответ на вопрос