Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

scarenci

Listar diretorios em C puro para linux

Recommended Posts

Olá pessoal,

 

 

Eu gostaria de saber se alguém sabe como listar o diretorio em linux, pois eu tenho um programa mas ele só funciona para a plataforma windows e se alguém quiser saber como é tá aí

 

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#include <io.h>

#include <dir.h>

#include <ctype.h>

#include <dos.h>

 

main()

{

char **ListaNomeArquivos;

struct ffblk ff;

int OK, i, contador;

 

OK = find_first("*.cpp",&ff,0);

i = 0;

// Constrói uma lista de nomes de arquivos de um diretório corrente

while (!OK)

{

OK = find_next(&ff);

strcpy(ListaNomeArquivos, ff.ff_name);

i++;

}

 

// Apresenta a lista de nomes de arquivos construída

contador = 0;

while (contador < i)

{

printf("%s", ListaNomeArquivos[contador]);

contador++;

}

getch();

}

 

 

 

 

Se alguém puder ajudar eu agradeço!!! :D

 

ps: o system("ls"); eu não posso usar pois não retorna o nome do arquivo para uma variavel que posteriormente eu queria mandar por socket!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro scarenci,

 

Segue um exemplo.

 

#include <stdio.h>#include <dirent.h>int main(){	DIR* diretorio;	struct dirent* item_diretorio;	diretorio = opendir( "/" );	if( !diretorio )	{		perror( "opendir" );		return( -1 );	}	item_diretorio = readdir( diretorio );	while( item_diretorio )	{		printf( "Item = %s\n", item_diretorio->d_name );		item_diretorio = readdir( diretorio );	}	closedir( diretorio );	return( 0 );}

Espero que este exemplo o ajude.

elsd.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro scarenci,Segue um exemplo.

#include <stdio.h>#include <dirent.h>int main(){	DIR* diretorio;	struct dirent* item_diretorio;	diretorio = opendir( "/" );	if( !diretorio )	{		perror( "opendir" );		return( -1 );	}	item_diretorio = readdir( diretorio );	while( item_diretorio )	{		printf( "Item = %s\n", item_diretorio->d_name );		item_diretorio = readdir( diretorio );	}	closedir( diretorio );	return( 0 );}
Espero que este exemplo o ajude.elsd.
Cara valeu mesmo!!!!! Era isso que eu queria, deu certinho!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif até mais.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.