Ler arquivos de um diretorio

1. Ler arquivos de um diretorio

LINER DE SOUZA SANTOS
linersantos

(usa Ubuntu)

Enviado em 07/05/2020 - 15:42h

Boa tarde.
Preciso escrever um codigo que abra e leia os arquivos de um diretorio. Tentei escrever um codigo mas tive dois problemas:
O primeiro código exibe "." e ".." como se fossem aruqivos também e o segundo, exibe a mensagem "Segmentation fault (core dumped)". Vou colar os dois aqui e se alguem puder me ajudar vai ser muito bom :)
codigo 1:
#include <dirent.h>
#include <stdio.h>

int main()
{
double x;
DIR *d;
struct dirent *dir;
d = opendir("/home/liner/mattmusic/programas/LI"); //diretório atual;
if (d != NULL)
{
while ((dir = readdir(d)) != NULL) //lsita todos os arquivos do diretorio
{
printf("%s\n", dir->d_name);
FILE *pFile;
pFile = fopen (dir->d_name,"r"); //abre o arquivo
if (pFile!=NULL)
{
double M[30][30],N[30][30];
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
//double x;
fscanf(pFile,"%lg",&x);
M[i][j]=x;
N[i][j]= 2.0*x;
printf("%d %d %lg\n",i,j,M[i][j]);

}
} // insira aqui o codigo que manipula o arquivo
fclose (pFile);
}
}
closedir(d);
}
return 0;
}


codigo 2:
#include <iostream>
#include <stdio.h>
#include<stdlib.h>
#include <sys/types.h>
#include <dirent.h>

int main (void)
{
DIR *dp;
struct dirent *ep;
FILE *arq1;

dp = opendir ("/home/liner/mattmusic/programas/LI");
if (dp != NULL)
{
while (ep = readdir (dp))
puts (ep->d_name);
arq1 = fopen(ep->d_name,"r");
double x=0;
fscanf(arq1,"%lg",&x);
printf("%lg\n",x);
fclose(arq1);
(void) closedir (dp);
}
else{
perror ("Couldn't open the directory");
}
//system("pause");
return 0;
}



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts