0 / 0 / 0
Регистрация: 23.01.2022
Сообщений: 32
1

Одновременная сортировка по имени файла и группировка по расширению

26.07.2022, 19:03. Показов 1553. Ответов 23

Здравствуйте, гении форума!

Нужна ваша помощь, у меня есть файл в котором хранится адреса на другие файлы, мне нужно эти адреса отсортировать по имени файла по алфавиту и сгруппировать по расширению файла. По отдельности это сделать легко но все вместе у меня не выходит - надеюсь на вашу помощь.

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
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include "Header.h"
using namespace std;
 
bool pred(string a, string b) {
    if (a.substr(a.rfind(".") + 1, a.size()) == b.substr(b.rfind(".") + 1, b.size()) &&
        a.substr(a.rfind("\\") + 1, a.size()) < b.substr(b.rfind("\\") + 1, b.size())) return true;
    else return false;
}
 
int StrOutput(string name) {
    ifstream stri(name);
    string line, arr[99];
    int k = 0;
    while (!stri.eof() && stri >> line) {
        arr[k++] = line.erase(0, line.find("\\"));
    }
    sort(arr, arr + k, pred);
    stri.close();
 
    ofstream stro(name.insert(name.find("."), "str"));
    for (int i = 0; i < k; i++) {
        stro << arr[i] << endl;
    }
    stro.close();
    return 0;
}
Файл с адресами для сортировки и группировки:
D:\Documents\OP\list\list1\tex t.txt
D:\Documents\OP\list\list2\doc ument.docx
D:\Documents\OP\list\list3\pro gram.cpp
D:\Documents\OP\list\list2\2te xt.txt
D:\Documents\OP\list\list1\2do cument.docx
D:\Documents\OP\list\list3\2pr ogram.cpp

Что получается:
\Documents\OP\list\list2\2text .txt
\Documents\OP\list\list1\text. txt
\Documents\OP\list\list2\docum ent.docx
\Documents\OP\list\list3\progr am.cpp
\Documents\OP\list\list1\2docu ment.docx
\Documents\OP\list\list3\2prog ram.cpp

Что должно быть:
\Documents\OP\list\list1\2docu ment.docx
\Documents\OP\list\list2\docum ent.docx
\Documents\OP\list\list3\2prog ram.cpp
\Documents\OP\list\list3\progr am.cpp
\Documents\OP\list\list2\2text .txt
\Documents\OP\list\list1\text. txt
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2022, 19:03
Ответы с готовыми решениями:

Отображение bitmap слева от имени файла по его расширению
Господа! Как по расширению файла отобразить его icon? Интересует механизм с API. Спасибо.

Media Player Не удается определить тип устройства по указанному расширению имени файла
Прошу помогите мне с Media Player. Суть такова: Я хочу при запуске программы Media Player...

Media Player Не удается определить тип устройства по указанному расширению имени файла
помогите разобратся делфи ругается Media Player Не удается определить тип устройства по указанному...

Ошибка "не удалось определить тип устройства по указанному расширению имени файла"
При запуске проекта выдает &quot;не удалось определить тип устройства по указанному расширению имени...

23
5232 / 2886 / 1208
Регистрация: 07.02.2019
Сообщений: 7,282
26.07.2022, 20:40 21
Цитата Сообщение от delazario Посмотреть сообщение
Та уже парень помог,
Ну он там схитрил, если заменить расширение docx на d, то результат изменится
0
3652 / 2989 / 828
Регистрация: 25.03.2012
Сообщений: 11,024
Записей в блоге: 1
26.07.2022, 22:26 22
zayats80888, а почему не pair?
0
zayats80888
26.07.2022, 23:05
  #23

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а почему не pair?
А есть разница?

0
3652 / 2989 / 828
Регистрация: 25.03.2012
Сообщений: 11,024
Записей в блоге: 1
27.07.2022, 10:59 24
zayats80888, pair должен быть в C++98. Больше компиляторов его поддерживает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2022, 10:59
Помогаю со студенческими работами здесь

MediaPlayer: "Не удается определить тип устройства по указанному расширению имени файла"
Здравствуйте. Кому нетрудно подскажите в чем ошибка: case Form1.DBGrid1.SelectedRows.Count of ...

MediaPlayer - ошибка "Не удается определить тип устройства по указанному расширению имени файла"
Почему это программа не работает unit Unit1; interface uses Windows, Messages,...

Сортировка по имени файла
Здраствуйте! Имеются файлы такого вида и типа: 2015-12-01_11-45-35_ФотонК-1234_7_-_742.xml, как...

Ls сортировка по имени файла
Здравствуйте! Мне нужно банально вытащить последний (по алфавиту) файл из папки, где хранятся файлы...

Сортировка картинок по имени файла
Собственно говоря я уже получил содержимое требуемой папки с помощью следующего кода: if...

Сортировка файлов по расширению
Всем привет. Никак не могу родить такой алгоритм: Вот допустим есть папка с различными файлами,...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru