Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Draka_za_edy
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 169
1

Создать программу,которая копирует содержимое первого файла во второй,имена файлов задает пользователь

14.11.2018, 17:30. Просмотров 874. Ответов 8
Метки нет (Все метки)

Привет,помогите с программой. Она должна копировать один файл в другой. Имена файлов вводятся пользователем с клавиатуры. Если не удается открыть файл, должно выдаваться соответствующее сообщение. У меня,как я понял он ищет не то,поэтому всегда выводит сообщение о том,что файл не удается открыть.Помогите,пожалуйста разобраться.
Вот код:
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <windows.h>
#include <string>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string file1,
             file2;
 
    cin >> file1 >> file2;
 
    ifstream fileIn("file1");
    if (!fileIn.is_open())
        cout << "Ошибка,файл не найден!" << endl;
    else {
          ofstream("file2") << fileIn.rdbuf();
          cout << "Файл скопирован.\n";  
         }
    
    system("pause");
    return 0;
    
 
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2018, 17:30
Ответы с готовыми решениями:

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

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

Написать программу, которая копирует содержимое входного файла в выходной файл
треба: 1. Написати програму, яка копіює вміст вхідного файлу у вихідний; підраховує кількість...

помогите написать программу, которая считывает содержимое файла, преобразовывает его и записывает во второй фаил
В общем задача написать прогу которая с входящего файла копирует в исходящий; инверсирует строку;...

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

8
Nishen
669 / 433 / 222
Регистрация: 26.02.2015
Сообщений: 1,995
Завершенные тесты: 3
14.11.2018, 17:42 2
std::filesystem:copy
1
Draka_za_edy
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 169
14.11.2018, 18:13  [ТС] 3
Не работает,я взял код с вашего сайта и он выдает ошибку адресации из-за того,что у меня есть необработанное исключение(Возникло необработанное исключение по адресу 0x753A17D2 в ConsoleApplication1.exe: исключение Microsoft C++: std::experimental::filesystem::v1::filesystem_error по адресу памяти 0x0095F838., произошло).Можете объяснить почему?
0
Nishen
669 / 433 / 222
Регистрация: 26.02.2015
Сообщений: 1,995
Завершенные тесты: 3
14.11.2018, 18:21 4
Перехватите исключение и посмотрите, что напишет what.
0
14.11.2018, 18:21
Draka_za_edy
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 169
14.11.2018, 18:26  [ТС] 5
А как это сделать?
0
Final383
3 / 2 / 1
Регистрация: 26.10.2018
Сообщений: 24
14.11.2018, 18:50 6
Лучший ответ Сообщение было отмечено Draka_za_edy как решение

Решение

у меня так получилось.


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 main()
{
 
 
 
    string m, n; 
 
    cin >> m >> n; 
 
    ifstream f;
    f.open(m);
    string s;
    char t;
    if (!f)
        cout << "file not found"; 
    else
    {
        while (true){
            f.get(t);
            if (f.eof())break;
            s.append(1, t);
        }
    }
 
    ofstream z; 
    z.open(n);
 
    if (!z)
        cout << "file not found";
    else
    {
        z << s;
    }
 
 
    system("pause");
1
Draka_za_edy
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 169
14.11.2018, 19:51  [ТС] 7
Не работает тоже

Добавлено через 5 минут
вы ,когда вводите имя файла ,пишите его разрешение? я пробовал писать,пробовал без разрешения,он не копирует,я файл второй открываю,а он всегда пустой..
0
Final383
3 / 2 / 1
Регистрация: 26.10.2018
Сообщений: 24
14.11.2018, 22:08 8
очень важно написать разрешение файла.

в первый файл поместите текст и вводите его название. после второй. и файлы должны лежать в папке с проектом
0
Draka_za_edy
3 / 2 / 3
Регистрация: 07.03.2018
Сообщений: 169
14.11.2018, 23:43  [ТС] 9
спасибо большое,ошибка исправлена,все работает
0
14.11.2018, 23:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2018, 23:43

Функция принимает 2 имени файла и копирует во второй файл из первого только те строки, которые не содержат гласных букв
Функция принимает 2 имени файла и копирует во второй файл из первого только те строки, которые не...

Написать программу, которая копирует содержимое входного файла в выходной
Написать программу, которая копирует содержимое входного файла в выходной; заменяет все заглавные...

Создать два файла: в первый записать содержимое 1 + 2 файлов, а во второй – 2 + 1 файлов
Создать два файла: в первый записать содержимое 1 + 2 файлов, а во второй – 2 + 1 файлов.


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

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

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