Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Blekzet
3 / 3 / 0
Регистрация: 21.12.2015
Сообщений: 173
1

Переименование и удаление файла

24.05.2017, 01:31. Просмотров 171. Ответов 2
Метки нет (Все метки)

В общем есть такой класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class fileOp
{
private:
    ofstream file;
    char *filename;
public:
    fileOp();
    fileOp(char str[]);
    ~fileOp();
    void copyFile(char str[]);
    void renameFile(char str[]);
    void deleteFile();
};
C++
1
2
3
4
5
6
void fileOp::renameFile(char str[]){
    rename(filename, str);
    delete filename;
    filename = new char[strlen(str)];
    filename = str;
}
В методе переименовывающий файл, он, в общем, не выполняет свои функции... Проблема примерно понятна (используется динамический массив, а нужен указатель на неизменяемое значение (то бишь const char*) а как решить... я не знаю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2017, 01:31
Ответы с готовыми решениями:

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

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

Создание/копирование/переименование/удаление файлов и директорий
Есть такие задания: 1) Выполнение создания/копирование/переименования/удаления...

Ошибка в синтаксисе команды. Переименование файла
Нужно переименовать файл 1.txt на 2.txt. Запускается без ошибок, после в...

Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void...

2
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
24.05.2017, 02:47 2
Цитата Сообщение от Blekzet Посмотреть сообщение
Проблема примерно понятна (используется динамический массив, а нужен указатель на неизменяемое значение (то бишь const char*)
Это навряд ли. Чтобы работало переименование: 1) Файл, который переименовывается, должен быть в это время закрыт; 2) В директории, где создаётся новый файл, не должно быть файла с таким же именем, как новое.
C++
1
2
3
4
5
6
    void fileOp::renameFile(char str[]){
    rename(filename, str);
    delete filename;
    filename = new char[strlen(str) + 1]; // добавить для '\0'
    strcpy(filename, str);
}
1
Blekzet
3 / 3 / 0
Регистрация: 21.12.2015
Сообщений: 173
24.05.2017, 02:50  [ТС] 3
nd2, ахахах... какая глупая ошибка... Прям благодарю!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2017, 02:50

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

Удаление файла
А не подскажите как на плюсах функцию удаления прописать? Нужна удалять файл в...

Удаление из файла
Исправьте функцию удаления,что то не всегда нормально удаляет.хз чего. void...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru