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

Работа с файлами - C++

Восстановить пароль Регистрация
 
Theice
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 14
23.02.2012, 11:34     Работа с файлами #1
Здравствуйте помогите написать програмку, которая бы создавала два файла ( имя мы должны написать сами), в первый файл мы вводим вручную какой то текст, после завершение ввода надо что бы текст с 1 файла, был скопирован во 2 файл в обратном порядке.

Зарание спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 11:34     Работа с файлами
Посмотрите здесь:

Работа с файлами в C++ C++
Работа с файлами C++
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
Работа с файлами C++
Работа с файлами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
23.02.2012, 14:11     Работа с файлами #2
На C++:
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
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
void write_in_file(std::string& filename, std::string& text)
{
    std::ofstream file(filename);
    file << text;
    file.close();
}
void read_from_file(std::string& filename, std::string& str_for_text)
{
    std::ifstream file(filename);
    getline(file, str_for_text);
    file.close();
}
 
int main ()
{
 
    cout << "Enter the name of first file(with extension):"  << ends;
    string fname1; // Создаём строку под имя первого файла
    cin >> fname1; // Вводим имя перового файла
 
    cout << "Enter the name of second file(with extension):" << ends;
    string fname2; // Аналогично
    cin >> fname2;
    cin.ignore(); // Для правильной работы getline() извлекаем из буфера последний введённый символ(переноса строки)
 
    cout << "Enter your text for first file:" << endl;
    string my_text;
    getline(cin, my_text); // Ввод всего текста, до ввода перехода на новую строку(нажатия "энтера")
 
    write_in_file(fname1, my_text); // Записываем текст в указанный файл
    
    // Честно выполняем задание и по новой считываем только что введённый текст из файла
    string read_text, reverse_text; // read_text - для текста из файла, reverse_text - для обращённого текста
    read_from_file(fname1, read_text); // Читаем из первого файла введённый текст
 
    // Создаём обратную строку(реверсируем текст)
    for (string::size_type i = 0; i < read_text.size(); ++i)
    {
        reverse_text += read_text[read_text.size() - 1 - i];
    }
    write_in_file(fname2, reverse_text); // Записываем реверсивный текст во 2-й файл
 
    system(fname2.c_str()); // Открываем второй файл и видим результат
    return 0;
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
23.02.2012, 15:23     Работа с файлами #3
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
40
41
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
  std::cout << "file1: ";
  std::string filename1;
  std::cin >> filename1;
  std::cin.ignore();
 
  std::fstream file1(filename1.c_str(), std::ios::in | std::ios::out | std::ios::trunc);
  if(!file1.is_open())
  {
    std::cerr << "Error opening file \"" << filename1 << "\"\n";
    return 1;
  }     
 
  char ch = 0;
  while(std::cin.get(ch))
    file1 << ch;
  std::cin.clear();
 
  std::cout << "\nfile2: ";
  std::string filename2;
  std::cin >> filename2;
 
  std::ofstream file2(filename2.c_str());    
  if(!file2.is_open())
  {
    std::cerr << "Error opening file \"" << filename2 << "\"\n";
    return 1;
  }
  
  file1.seekg(0, std::ios::end);
  while(file1.unget())    
    file2.put(file1.peek());       
 
  file1.close();
  file2.close();
}
Yandex
Объявления
23.02.2012, 15:23     Работа с файлами
Ответ Создать тему
Опции темы

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