2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Программа выводящая имена файлов в каталоге
Сообщение01.01.2014, 11:53 
Аватара пользователя
Пытаюсь разобраться в программе:

Программа выводит имена файлов и их i-node в указанном каталоге.
Используется синтаксис C++
#include <stdio.h>
#include <dirent.h>

#define dirname "/home/max/prog"

main ()
{
    int i,n;
    struct dirent ** entry;
    n = scandir(dirname, &entry,0,0);
    if (n<0) {printf("Error");}
    for (i=0; i<n; i++)
    {printf("%s inode=%i\n",entry[i]->d_name,entry[i]->d_ino);}
}


Код:
struct dirent ** entry;
зачем здесь две звездочки, одна указатель, а вторая зачем?

Код:
{printf("%s inode=%i\n",entry[i]->d_name,entry[i]->d_ino);}


Код:
%s и %i
- показывает тип переменной?

Код:
entry[i]->d_name,entry[i]->d_ino
- это поля структуры, но они же не были нигде объявлены, так можно?

 
 
 
 Re: Программа выводящая имена файлов в каталоге
Сообщение02.01.2014, 10:02 
Sverest в сообщении #808298 писал(а):
Код:
struct dirent ** entry;

зачем здесь две звездочки, одна указатель, а вторая зачем?


Массив указателей.
Sverest в сообщении #808298 писал(а):
Код:
%s и %i

- показывает тип переменной?

Спецификаторы

Sverest в сообщении #808298 писал(а):
Код:
entry[i]->d_name,entry[i]->d_ino

- это поля структуры, но они же не были нигде объявлены, так можно?


тип dirent описанн в dirent.h

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group