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

Переименование файлов, заменяя определенные символы знаком дефиса - C++

Восстановить пароль Регистрация
 
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 220
27.03.2014, 19:12     Переименование файлов, заменяя определенные символы знаком дефиса #1
Пытаюсь сделать программа, которая переименовывает названия картинок. Допустим, если картинки были названы так:
hello world test.jpg
bla-bla-bla.jpg
test_word.jpg

то после обработки программой - они должны выглядеть так:
hello-world-test.jpg
bla-bla-bla.jpg
test-word.jpg

Попытался написать, но программа либо вовсе не переименовывает их, либо переименовывает, но криво и не так, как я желал. Помогите подправить, пожалуйста.

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
#include<iostream>
#include<Windows.h>
 
using namespace std;
 
string EditFileName(string fileName);
 
int main() {
    WIN32_FIND_DATA findImg;
    HANDLE renameFile = FindFirstFile("*.jpg", &findImg);
    string fileName;
    if(renameFile != INVALID_HANDLE_VALUE){ 
        char toName[30];
        fileName = EditFileName(findImg.cFileName);
        for (int i = 0; i < fileName.length(); i++){
            toName[i] = fileName[i];
        }
        rename(findImg.cFileName, toName);
    } else {
        cout<<"Can't find files";
    }
    while (FindNextFile(renameFile, &findImg)){
        char toName[30];
        fileName = EditFileName(findImg.cFileName);
        for (int i = 0; i < fileName.length(); i++){
            toName[i] = fileName[i];
        }
        rename(findImg.cFileName, toName);
    }
}
 
string EditFileName(string fileName){
    for(int i = 0; i < fileName.length(); i++) {
        if(fileName[i] == ' ' || fileName[i] == '_'){
            fileName[i] = '-';
        }
    }
    return fileName;
}
Добавлено через 10 минут
разобрался, тему можно удалять
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 19:12     Переименование файлов, заменяя определенные символы знаком дефиса
Посмотрите здесь:

Переименование файлов C++
Пакетное переименование файлов C++
Пакетное переименование файлов C++
программа для Дефиса в доменном имени C++
C++ Переименование файлов, в имени которых содержится пробел
C++ Имитация вращения дефиса вокруг центра симметрии
Записать символы строк текста в обратном порядке, заменяя все вхождения подстрок «да» на «таки да» C++
Как записывать в txt-файл определенные строки из xml-файлов? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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