Удаление файла через с++

Тема в разделе "WASM.BEGINNERS", создана пользователем Mark, 16 ноя 2011.

  1. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Вот значит код:


    Код (Text):
    1. #include <iostream>
    2. #include <conio.h>
    3.  
    4. using namespace std;
    5.  
    6. int main ()
    7. {
    8.  
    9.   setlocale(LC_CTYPE,"Russian");
    10.  
    11.   float c;
    12.     cout << "Введите файл, который надо удалить:  ";
    13.  
    14.     cin >> c;
    15.  
    16.     system("del ") << c;    // Вот как тут быть?
    17.  
    18.    
    19.  
    20.   _getch();
    21.   return 0;
    22. }
    Как вы поняли, нужно чтобы данные, введенные пользователем сохранялись в переменной С , а потом Подставлялись в del.
     
  2. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Взять любую книжку по языку и почитать.
    Как ты в переменную типа float хочешь имя файла считать?
    Для удаления есть remove() http://www.cplusplus.com/reference/clibrary/cstdio/remove/
    Если хочешь через system(), надо командную строку для начала сформировать.
    Как - зависит от того какого типа строка: для char[] - strcat(), для std::string можно оператором "+" строки склеить.
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    1. http://ipg.h1.ru/lessons/ci/les75.html
    2. Не float
    3. Книги
     
  4. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Извините, а как тогда вставить переменную в remove() ?

    Код (Text):
    1. #include <stdio.h>
    2.  
    3. int main ()
    4. {
    5.   if( remove( "myfile.txt" ) != 0 )
    6.     perror( "Error deleting file" );
    7.   else
    8.     puts( "File successfully deleted" );
    9.   return 0;
    10. }
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    string s;
    cin>>s;
    remove(s);
     
  6. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Tak?

    Код (Text):
    1. #include <stdio.h>
    2. #include <iostream>
    3. #include <conio.h>
    4.  
    5. using namespace std;
    6.  
    7. int main ()
    8. {
    9.     string s;
    10.  
    11.     setlocale(LC_CTYPE,"Russian");
    12.  
    13.  
    14.  
    15.     cout << "Remove: ";
    16.  
    17.     cin >> s;
    18.  
    19.     _getch();
    20.  
    21.   remove(s);
    22.    
    23.  
    24.   _getch();
    25.  
    26.   return 0;
    27. }
    // выдает ошибки.
     
  7. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    И какую переменную там надо использовать?
     
  8. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Какую?
     
  9. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Ошибку? Аргумент типа "string" не совместим с параметром типа "const char*"
     
  10. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    remove(s.c_str());
     
  11. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Хех, а теперь

    Код (Text):
    1. #include <stdio.h>
    2. #include <iostream>
    3. #include <conio.h>
    4.  
    5. using namespace std;
    6.  
    7. int main ()
    8. {
    9.     string s;
    10.  
    11.     setlocale(LC_CTYPE,"Russian");
    12.  
    13.  
    14.  
    15.     cout << "Remove: ";
    16.     cin >> s;                                   // Вот тут подчеркивает     >>       и пишет, что отсутствует оператор, соответствующий этим операндам.
    17.  
    18.  
    19.   remove(s.c_str());
    20.    
    21.  
    22.   _getch();
    23.  
    24.   return 0;
    25. }
     
  12. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
  13. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    Ни понял
     
  14. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    string name;
    cout << "enter your name: ";
    getline(cin, name);
     
  15. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    Код (Text):
    1. #include<stdio.h>
    2.  
    3. int main(void)
    4. {
    5.    char file[80];
    6.    /* запросить имя удаляемого файла */
    7.    printf("Введите имя удаляемого файла */
    8.    gets(file);
    9.    /* удалить файл */
    10.    if(remove(file)==0)
    11.       printf("Файл %s удален.\n");
    12.    else
    13.       perror("remove");
    14.    return 0;
    15. }
    Mark, с крыши спрыгни, чудовище...
     
  16. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    т. е. так?

    Код (Text):
    1. #include <stdio.h>
    2. #include <iostream>
    3. #include <conio.h>
    4.  
    5. using namespace std;
    6.  
    7. int main ()
    8. {
    9.     string c;
    10.     string name;
    11.  
    12.     setlocale(LC_CTYPE,"Russian");
    13.  
    14.  
    15.  
    16.     cout << "enter your name: ";
    17.     getline(cin, name);
    18.  
    19.  
    20.   remove(c.c_str());
    21.    
    22.  
    23.   _getch();
    24.  
    25.   return 0;
    26. }
    Подчеркивает getline - идентификатор не определен
     
  17. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    steelfactor

    Спасибо :)

    Тема закрыта
     
  18. Mark

    Mark Марк

    Публикаций:
    0
    Регистрация:
    15 сен 2011
    Сообщения:
    304
    punxer

    Тоже за страрание)
     
  19. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    http://www.cplusplus.com/reference/string/getline/
    Все ответы тут