Объединение файла с путем, чтобы получить полный путь в 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;
}