Форум программистов, компьютерный форум CyberForum.ru

Вывести на экран список файлов и каталогов в текущей директории - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Dreamlex
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 7
01.04.2014, 21:34     Вывести на экран список файлов и каталогов в текущей директории #1
Помогите написать программу, работающую в текстовом режиме (ширина экрана равна 80 столбцов), которая должна выводить на экран список файлов и каталогов в текущей директории (в которой запущена программа). Если весь список не умещается на одном экране, то при нажатии клавиш Up, Down прокручивать список.
главная проблема откуда брать имена со scandir проблемы

Добавлено через 1 час 39 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <dirent.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
int main(void)
{
DIR *dir=opendir(".");
int i=0;
if(dir)
{
  struct dirent *ent;
  printf("File: \n\n");
  while((ent=readdir(dir))!=NULL)
  {
    if(strcmp("..",ent->d_name)&&strcmp(".",ent->d_name))
      {printf("%s    ",ent->d_name);
   
    i++;
    if(i%4==0) printf("\n");}
  }
}
else printf("Can't opening directory\n");
 
printf("kol %d\n",i);
 
return 0;
}
Более менее реализовал только фалов чуть больше показывает чем через ls, поправьте кто может и
Помогите реализовать кнопки Up and Down.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 21:34     Вывести на экран список файлов и каталогов в текущей директории
Посмотрите здесь:

Вывести на экран содержимое директории C++
C++ список файлов в директории
Вывести список файлов каталога C++
Вывести список файлов в каталоге C++
C++ Определение текущей директории
Сравнить содержимое файлов между собой, и если оно совпадает, то вывести на экран имена этих файлов C++
C++ Вывести на экран в текущем каталоге имена тех каталогов, которые в себе не содержат подкаталогов
C++ Вывести список всех файлов из указанной директории, имена которых содержат русские буквы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.04.2014, 00:33     Вывести на экран список файлов и каталогов в текущей директории #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <ncurses.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    int y = 0, key, dir_entries_count, file_index, lines_count=0;
    WINDOW* w;
    struct dirent **namelist;
 
    dir_entries_count = scandir(".", &namelist, NULL, NULL);
    if(dir_entries_count < 0)
        return;
    file_index = dir_entries_count;
 
    while(file_index--)
        lines_count += strlen(namelist[file_index]->d_name)/80 + 1;
    file_index = dir_entries_count;
 
    initscr();
    w = newpad(lines_count+1, 80);
    keypad(w, TRUE);
 
    while(file_index--)
    {
        wprintw(w, "%s\n", namelist[file_index]->d_name);
        free(namelist[file_index]);
    }
    free(namelist);
    prefresh(w, 0, 0, 0, 0, LINES-1, COLS-1);
 
    while(key != 10) 
    { 
        key = wgetch(w); 
        switch(key) 
        {
            case KEY_UP: 
                if(y>0) --y;
                break; 
            case KEY_DOWN: 
                if(y<(lines_count-1)) ++y;
                break; 
            case 10:
                break;
            default:
                key = 0;
        } 
        prefresh(w, y, 0, 0, 0, LINES-1, COLS-1);
    }
 
    endwin();
    return 0;
}
Yandex
Объявления
02.04.2014, 00:33     Вывести на экран список файлов и каталогов в текущей директории
Ответ Создать тему
Опции темы

Текущее время: 12:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru