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

Название файла по маске - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ 4 лёгкие задачки http://www.cyberforum.ru/cpp-beginners/thread1023207.html
Добрый вечер! Помогите, пожалуйста написать (желательно просто) эти программки. Буду благодарен! одна тема - одна задача тексты заданий перепечатываем на форум читаем правила.
C++ написать программу, которая будет выводить на экран количество повторений введенного с клавиатуры символа написать программу, которая будет выводить на экран количество повторений введенного с клавиатуры символа http://www.cyberforum.ru/cpp-beginners/thread1023205.html
C++ Одномерный массив
Помогите с задачкой извелась уже не выходит Дан массив содержащий сведения о росте студентов. Вывести номера студентов с одинаковым ростом. у меня вот это получается но пока не работает #include<iostream> using namespace std; int main() { float a;
Нужно дописать, произведение отрицательных элементов массива, расположенных между минимальным и максимальным элементами C++
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void tselyi1(int *mas, int const n); void tselyi2(int *mas, int const n);
C++ Установить значение переменной из другого класса http://www.cyberforum.ru/cpp-beginners/thread1023186.html
Всем здрасьте. У меня есть 3 класса.Почти не как от друга не зависят. На скрине показана схемка. Так вот , в классе MENU у меня есть переменная name_slot типа LPCWSTR. Так же есть в классе функция взятие этой переменной: LPCWSTR MenuClass::GetName() { return name_slot; }
C++ Перегрузка операций Разработайте программу на языке С++, используя пользовательский тип данных – классы и перегрузку операций. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель и знаменатель. Реализовать методы определения обратной дроби и вывода дроби. Перегрузить операции сложения, вычитания и умножения дробей. Помогите с лабой пожалуйста подробнее

Показать сообщение отдельно
Ullaluna
8 / 6 / 1
Регистрация: 11.11.2013
Сообщений: 75
29.11.2013, 23:38     Название файла по маске
Аскер, под конец дня мой моск взорвался от одного прочтения задачи.

Для поиска файла по маске существует малоизвестная функция fnmatch. Да, и в с++ она тоже есть, не только в php!

http://pubs.opengroup.org/onlinepubs...s/fnmatch.html - это ее описание без примера.

Как пример могу дать свой старенький код с бывшей работы. Новый, простите, вотпрямсейчас не рожу.
Надо было найти в списке устройств на линуксе все камеры, так что матерные слова, какие будут в тексте, все пропускайте. Надеюсь, роль fnmatch оттуда ясна, если нет, то спрашивайте. Надеюсь, вспомню, что и зачем я здесь писала.

Если же задача в том, чтобы найти файл по маске, используя только строку, цикл и палку-копалку, то я могу вам посочувствовать.

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
#include <iostream>
#include <dirent.h>
#include <fnmatch.h>
#include <typeinfo>
#include <vector>
using namespace std;
 
 
int main() {
  char pathtofile[] = "/dev/";
  char mask[] = "video*";
  vector <char *> devices;
  
  DIR *dir = opendir(pathtofile);
  if(dir) {
    struct dirent *videodev;
    while((videodev = readdir(dir)) != NULL){
      if (fnmatch(mask, videodev->d_name, 0) == 0) {
    devices.push_back(videodev->d_name);
      }
    }
  }
  else
  {
    cout << "Error opening directory\n"<< endl;
    return -1;
  }
  for (int i = 0; i < devices.size(); i++) {
    cout << devices[i] << endl;
  }
    return 0;
}
Добавлено через 11 минут
P.S. Кстати, не исключено, что это функция под *nix, и в вендах ее тупо нет. Но я не знаю, и проверить не на чем.

Добавлено через 6 минут
P.P.S. Да, блин, она с POSIX'а. Но я гляжу, наши зарубежные коллеги как-то мастрячат ее на винду, и даже что-то официальное есть. Ну, на худой конец копируешь исходник и смотришь, как это реализовано. Пишешь свое. Все лучше, чем в пиццотый раз массивы перебирать, зная, что это никто после тебя не станет использовать.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru