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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
flasher167
4 / 4 / 0
Регистрация: 17.10.2012
Сообщений: 176
#1

Как переименовать файл - C++

11.05.2013, 16:16. Просмотров 1891. Ответов 12
Метки нет (Все метки)

вот кусочек моего кода
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
int open()//функция открытия файла
{
        system("cls");
        redactor red;
        cout<<"введите имя файла file.txt";
        char name[25]="";
        cout<<endl;
        cin>>name;
        cout<<endl;
        char a;
        ifstream in;
        in.open(name);// открытие файла
        if(!in)
        {
            cout<<"Файл для чтения "<<name<<" не открыт"<<endl; 
            return 1;
        }
        while(!in.eof())
        {
            in.get(a);
            cout<<a;
        }
        cout<<"\n\nВернуться назад = 0"<<endl;
 
            
        while(1)
            {
                switch (_getch())
                {
                case '0':
                    red.menu_redactor();
                    break;
                }
                break;
            } return 0;
}
изначально я прошу открыть пользователя файл file.txt
нужно написать другую функцию что бы она могла переименовать этот файл file.txt в любой другой
и потом если я захочу открыть этот файл то показывало пользователю
C++
1
cout<<"введите имя файла \тут новое имя/";
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 16:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как переименовать файл (C++):

fstream (удалить файл каким то методом и переименовать) - C++
Здравствуйте. Возник вопрос. В инете ничего не нашел толкового так как английский хромой. fstream f(&quot;txt.txt&quot;,ios::in); можно ли...

Как переименовать проект? - C++
Доброго всем здравия. Подскажите пожалуйста, как в Visual Studio 2013 переименовать уже созданный проект. И как удалить самые первые...

Как переименовать проект в codeblocks - C++
Подскажите, пожалуйста, как переименовать созданный проект, чтобы изменения сохранились, я пытался делать через properties--&gt;title , но не...

Как переименовать файлы в папке - C++
Есть папка со скриншотами. Необходимо их по порядку переименовать так, чтобы получились такие названия файлов 1.1, 1.2, 2.1, 2.2, 3.1,...

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

Переименовать изображения в папке - C++
Добрый день! Подскажите как в цикле загружать изображения bmp из папки и сохранять под нужным именем? ключевой вопрос в том, как их...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev[G]eN
11.05.2013, 16:18
  #2

Не по теме:

"Введите" пишется слитно

0
stima
474 / 323 / 31
Регистрация: 22.03.2011
Сообщений: 1,047
Завершенные тесты: 2
11.05.2013, 16:36 #3
чистым с++ никак.
WinApi CreateFile, RenameFile, DeleteFIle (#include <windows.h>)
1
flasher167
4 / 4 / 0
Регистрация: 17.10.2012
Сообщений: 176
11.05.2013, 16:46  [ТС] #4
Цитата Сообщение от stima Посмотреть сообщение
чистым с++ никак.
WinApi CreateFile, RenameFile, DeleteFIle (#include <windows.h>)
а можно по подробней..
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
11.05.2013, 16:46 #5
stima, но вообщето в stdio есть функции rename и remove
http://www.cplusplus.com/reference/cstdio/rename/
http://www.cplusplus.com/reference/cstdio/remove/
0
flasher167
4 / 4 / 0
Регистрация: 17.10.2012
Сообщений: 176
11.05.2013, 16:53  [ТС] #6
Цитата Сообщение от aram_gyumri Посмотреть сообщение
stima, но вообщето в stdio есть функции rename и remove
http://www.cplusplus.com/reference/cstdio/rename/
http://www.cplusplus.com/reference/cstdio/remove/
а можно рабочим примером ... как у меня...
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
11.05.2013, 16:54 #7
flasher167, вот из ссылки которую я дал
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* rename example */
#include <stdio.h>
 
int main ()
{
  int result;
  char oldname[] ="oldname.txt";
  char newname[] ="newname.txt";
  result= rename( oldname , newname );
  if ( result == 0 )
    puts ( "File successfully renamed" );
  else
    perror( "Error renaming file" );
  return 0;
}
0
flasher167
4 / 4 / 0
Регистрация: 17.10.2012
Сообщений: 176
11.05.2013, 16:56  [ТС] #8
Цитата Сообщение от aram_gyumri Посмотреть сообщение
flasher167, вот из ссылки которую я дал
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* rename example */
#include <stdio.h>
 
int main ()
{
  int result;
  char oldname[] ="oldname.txt";
  char newname[] ="newname.txt";
  result= rename( oldname , newname );
  if ( result == 0 )
    puts ( "File successfully renamed" );
  else
    perror( "Error renaming file" );
  return 0;
}
но мне нужно что бы пользователь сам ввел новое имя
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
11.05.2013, 17:11 #9
Цитата Сообщение от flasher167 Посмотреть сообщение
но мне нужно что бы пользователь сам ввел новое имя
Цитата Сообщение от flasher167 Посмотреть сообщение
C++
1
char newname[] ="newname.txt";
делаем, к примеру:
C++
1
2
3
char newname[25];
gets(newname);
result= rename( oldname , newname );
и т.д.
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
11.05.2013, 17:31 #10
Очень просто
C++
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
 
int main()
{
    string sold = "old.txt";
    string snew = "new.txt";
 
    string s;
    
    s = "mv " + sold + " " + snew;
    system(s.c_str());
}
0
flasher167
4 / 4 / 0
Регистрация: 17.10.2012
Сообщений: 176
11.05.2013, 18:08  [ТС] #11
Цитата Сообщение от programina Посмотреть сообщение
Очень просто
C++
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
 
int main()
{
    string sold = "old.txt";
    string snew = "new.txt";
 
    string s;
    
    s = "mv " + sold + " " + snew;
    system(s.c_str());
}
mv не является внутренней или внешней командой...
0
stima
474 / 323 / 31
Регистрация: 22.03.2011
Сообщений: 1,047
Завершенные тесты: 2
11.05.2013, 18:23 #12
2aram_gyumri Не знал.
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
11.05.2013, 19:15 #13
Цитата Сообщение от flasher167 Посмотреть сообщение
mv не является внутренней или внешней командой..
flasher167, ставь линукс

Добавлено через 2 минуты
В виндовсе вместо mv можно юзать ren

flasher167, то есть нужно заменить на:
C++
s = "ren " + sold + " " + snew;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2013, 19:15
Привет! Вот еще темы с ответами:

Удалить и переименовать фаил - C++
Уважаемые форумчане,подскажите как можно удалить и переименовать фаил?

Переименовать и скрыть папку, программно. - C++
Здравствуйте. Есть курсач(к УК не имеет отношения:)), часть написана, часть до реализовать. Сама задача: файл(exe) должен скопировать...

Как вывести в файл последние буквы каждого слова в файл? - C++
Помогите, пожалуйста. Задание следующее: сформировать строку из последних букв исходного текста. Текст хранится в файле, нужно взять оттуда...

Файл: Как сделать так, чтобы числа в файл были прописаны не рандомно? - C++
Здраствуйте, дан код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.05.2013, 19:15
Ответ Создать тему
Опции темы

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