
linersantos
(usa Ubuntu)
Enviado em 03/06/2020 - 12:05h
Bom dia.
eu preciso listar e ler arquivos de um diretorio. Tentei o seguinte codigo:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#define null 0
void list_dir (void ) {
DIR *dir;
struct dirent *entry;
struct stat s;
//-------------------------------------------
// Find ONLY DIRECTORY
//-------------------------------------------
dir = opendir("./teste1");
for (;;) {
entry = readdir(dir);
if (!entry) break;
if (strcmp(entry->d_name, "."))
if (strcmp(entry->d_name, ".."))
//if ( stat(entry->d_name, &s) == 0 && S_ISDIR(s.st_mode) ) {
printf ("%s\n", entry->d_name);
FILE *p = fopen(entry->d_name,"rf");
fclose(p);
//}
}
closedir(dir);
//#endif // __linux__
}// list_dir ()
int main (void) {
list_dir ();
return 0;
}
Só que na hora de executar, ele exibe uma mensagem de erro:
Segmentation fault (core dumped)
Se eu tiro o FILE *p = fopen ... ele roda mas ai nao faz oq eu preciso que é ler e gravar os dados dos arquivos.
Desde já agradeço.