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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
#1

Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) - C++

16.03.2014, 19:42. Просмотров 477. Ответов 5
Метки нет (Все метки)

Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING)

Салем, начал изучать файловую работу в С++, и столкнулся с такой проблемой, что функция remove() соглашается удалять только заранее запланированые файлы, выдавая ошибку на remove(STRING), в то время когда я хочу дать опцию написания в дебагере файла-жертвы, как в этом фрагменте программы. Можно ли вообще использовать стринги в данной функции? Если нет, чем заменить реализация?
Заранее спасибо!

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

п.с "txtname" объявлен стрингом с более раннего фрагмента программы.


C++
1
2
3
4
5
6
7
8
9
10
11
if (strcmp(k, "delete") == 0 || strcmp(k, "2") == 0 || strcmp(k, "erase") == 0 || strcmp(k, "remove") == 0)
                {
                    cout << "-------------deleting file-------------\n\nWat naem kebab haev?\n============\\ \n";                   //        
                    cin >> txtname;
 
                    if(remove(txtname) == 0)  //здески проблемочка.                                                                              //
                    cout << "============/ \n" << "-----------kebab removed pls.-----------\n";
                    else
                        cout << "============/ \n" << "!!!!ERROR DELETING FILE!!!!\nCzek your grammar maybe.\n";
                    break;
                }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 19:42     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING)
Посмотрите здесь:

stl remove своя функция - C++
мне нужна в качестве 3 аргумента функции remove указать структура, компилятор выдаёт ошибку, как исправить?

std::string + std::remove - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; int main() { std::string str(&quot;hello, world. have a nice...

Не правильно работает erase + remove - C++
мне надо удалить из строки все пробелы, я сделал так: std::string expr; ... expr.erase(std::remove(expr.begin(), expr.end(), ' ')); ...

На что ссылается итератор после remove(*it) - C++
Здравствуйте! Не понимаю, почему итератор ссылается на удаленный из списка элемент? #include &lt;vcl&gt; #include &lt;iostream&gt; #include...

Объяснить работу алгоритма std::remove(); - C++
Есть буквы: #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; int main () { std::vector&lt;int&gt; vec = {10,...

Списки и файлы. Вывести на экран только предложения, содержащие слово которое ввели с клавиатуры (найти ошибку в коде) - C++
Ребята привет, мне посоветовали этот форум, как помощь для начинающих программистов. Буду очень признательна, если поможете исправить...

Функция удаляет начальные пробелы из строки... - C++
Написать функцию которая удаляет начальные пробелы из строки, полученной в качестве аргумента.. В паскале function LTrim(st:...

Почему функция не удаляет минимальный элемент - C++
Вот кусок функции void second::Udal_Min() { for(int i=0;i&lt;n;i++)\ { if (*(x+i)==min) {if (i==(n-1)) { ...

Проверить файлы с заранее неизвестными именами - C++
Хочу реализовать вот такое чудо. К примеру есть папка, изначально она пустая. При каждом запуске программы пользователь должен...

Функция удаляет из строки заданное количество символов - C++
Задание: Функция удаляет из строки заданное количество символов, начиная с заданной позиции. Помогите пожалуйста, буду очень благодарен.

Функция удаляет из списка все отрицательные элементы - C++
функция удаляет из списка все отрицательные элементы

Функция удаляет цифры из числа - как вам? - C++
Написал функцию, зацените. функция удаляет цифры из числа: DelDigit(число, цифра) #include &lt;iostream&gt; #include &lt;math.h&gt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6280 / 5883 / 1904
Регистрация: 18.12.2011
Сообщений: 15,093
Завершенные тесты: 1
16.03.2014, 20:01     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если txtname строка класса string, тогда для remove надо передать только символы строки
C++
1
remove(txtname.c_str());
Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
16.03.2014, 20:13  [ТС]     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) #3
Спасибо, код починило, но вот только я не понимаю значения, ведь например
C++
1
ofstream foo(txtname);
создает файл без каких либо добавок, почему тогда здесь это надо?
zss
Модератор
Эксперт С++
6280 / 5883 / 1904
Регистрация: 18.12.2011
Сообщений: 15,093
Завершенные тесты: 1
16.03.2014, 20:19     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) #4
Цитата Сообщение от Komi Посмотреть сообщение
почему тогда здесь это надо?
ofstream находится в STL библиотеке. Он знает, что такое string
(кстати Начиная только с Visual Studio 2010), а remove не знает.
Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
16.03.2014, 20:45  [ТС]     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) #5
Цитата Сообщение от zss Посмотреть сообщение
ofstream находится в STL библиотеке. Он знает, что такое string
(кстати Начиная только с Visual Studio 2010), а remove не знает.
Тоесть если я правильно понял, вместо стринга с добавкой ".c_str()" , можно просто использовать массив чаров?
zss
Модератор
Эксперт С++
6280 / 5883 / 1904
Регистрация: 18.12.2011
Сообщений: 15,093
Завершенные тесты: 1
17.03.2014, 12:20     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING) #6
Цитата Сообщение от Komi Посмотреть сообщение
вместо стринга с добавкой ".c_str()" , можно просто использовать массив чаров?
Да,метод c-str() возвращает массив char.
Yandex
Объявления
17.03.2014, 12:20     Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING)
Ответ Создать тему
Опции темы

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