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

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

Войти
Регистрация
Восстановить пароль
 
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 55
#1

Добавить в конец первого текстового файла содержимое второго текстового файла - C++

10.06.2017, 11:14. Просмотров 154. Ответов 3
Метки нет (Все метки)

Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2017, 11:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить в конец первого текстового файла содержимое второго текстового файла (C++):

Добавить в конец первого файла содержимое второго файла - C++
Text6. Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла. Помогите пожалуйста с решением, а желательно с...

Добавить в конец первого файла содержимое второго - C++
помогите разобраться кто сможет! тут такое дело ошибки есть! задание: Даны два текстовых файла. Добавить в конец первого файла...

Сформировать имя второго файла из имени первого добавлением текстового постфикса "_comp" - C++
Есть файл с информацией, я ввожу его имя для открытия и дальше работаю с ним. char filename; cout << "Введите имя файла: "; ...

Как определить конец текстового файла? - C++
Собственно весь вопрос в заголовке. Пробовал с eof, но не получается. #include <fstream.h> #include <iostream.h> #include...

Зашифровать содержимое текстового файла - C++
Програму сделайте...

Зашифровать содержимое текстового файла - C++
Зашифровать содержимое текстового файла с помощью заданного с клавиатуры пользователем строки выполняет роль ключа. В процессе шифрования...

3
anapshy
148 / 152 / 64
Регистрация: 14.11.2016
Сообщений: 592
Завершенные тесты: 3
10.06.2017, 12:20 #2
Проверки на пробел в конце файла/на то, создан файл или нет.
В папке с проектом создать файл input.txt и добавить в него произвольный текст.
Вот собственно код.
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
51
52
53
54
55
56
57
58
/* C++11 & newer */
#include <iostream>
#include <fstream>
#include <string>
//********** ЯВЛЯЕТСЯ ЛИ ФАЙЛ СОЗДАННЫМ *************************
bool IsFileCreated(std::string fname)
{
    std::ifstream file(fname);
    if (!file.is_open())
        return false;
    file.close();
    return true;
}
//********** ЯВЛЯЕТСЯ ЛИ КОНЕЦ ФАЙЛА ПРОБЕЛОМ *******************
void IsEndOfSpace(std::string fname)
{
    std::ifstream file_in(fname);
    std::string line;
    while (std::getline(file_in, line)); // Читаем файл.
    file_in.close();
    bool other_chars(false);
    for (auto ch : line) { // Идем по последней с читаной строке
        if (ch != ' ') { // Если это не пробел
            other_chars = true; // Найден не пробел!
            break; // Выход из цикла for
        }
    }
    if (other_chars) { // Если в строке есть символы НЕ пробелы
        std::ofstream file_out(fname, std::ios_base::out | std::ios_base::app);
        file_out << std::endl; // Переходим на новую строку
        file_out.close();
    }
}
//********** ДОБАВЛЕНИЕ ИЗ ФАЙЛА В ФАЙЛ *************************
void AddFromFileInFile(const std::string &fname_in, const std::string &fname_out) // Принимает 2 параметра: fname_in - файл из которого читать      fname_out - файл в который записывать
{
    std::ifstream file_in(fname_in);
    if (!file_in.is_open()) {                                           // Если не удалось открыть файл fname_in
        std::cout << "File " << fname_in << " not found!" << std::endl; // Файл fname_in не найден!
        return;                                                         // Преждевременный выход из функции
    }
    if (IsFileCreated(fname_out))   // Если файл fname_out создан
        IsEndOfSpace(fname_out);    // Проверяем на пробел в конце файла fname_out
    std::ofstream file_out(fname_out, std::ios_base::out | std::ios_base::app); // Открываем файл fname_out для записи в конец
    std::string line;
    while (std::getline(file_in, line)) // Считываем в строку из файла fname_in
        file_out << line << std::endl;  // Заносим в файл fname_out
    file_in.close();    // Закрываем файл fname_in
    file_out.close();   // Закрываем файл fname_out
}
//**********************************************************
int main(void)
{
    AddFromFileInFile("input.txt", "output.txt");
    std::cout << " Check file output.txt in directory with project!" << std::endl;
    std::cin.get();
    return 0;
}
0
decrement
174 / 113 / 41
Регистрация: 03.05.2017
Сообщений: 333
Завершенные тесты: 1
10.06.2017, 12:28 #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
#include <cstdio>
#include <fstream>
 
int main (int argc, char *argv [])
{
    if (argc != 3)
    {
         printf ("error");
         return 0;
    }
    else
    {
         std::ifstream infile (argv [1], std::ios::in | std::ios::binary);
         std::ofstream outfile (argv [2], std::ios::out | std::ios::binary | std::ios::app);
         
         if (!infile || !outfile)
         {
              printf ( "error in write or read!" );
              return 0;
         }
         
         int len = 4096;
         char * buffer = new char [len];
         while (!infile.eof ())
         {
              infile.read (buffer, len);
              if (infile.gcount ())
                   outfile.write (buffer, infile.gcount ());
         }
         infile.close ();
         outfile.close ();
         delete [] buffer;
    }
    printf ("association done!");
    return 0;
}
Bash
1
file_association file1.txt file2.txt
file1.txt - с него читает
file2.txt - к нему дописывает
0
mskoromets
6 / 6 / 2
Регистрация: 29.12.2016
Сообщений: 128
Завершенные тесты: 2
10.06.2017, 12:41 #4
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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
 
const string file_directory_1 = "C:\\Users\\user\\Desktop\\C++\\files\\file_1.txt";
const string file_directory_2 = "C:\\Users\\user\\Desktop\\C++\\files\\file_2.txt";
 
int main()
{
    fstream fin;
    ofstream fout;
    fin.open(file_directory_2);
 
    vector<string> words_from_file_2;
    string stream;
    while (fin >> stream) words_from_file_2.push_back(stream);
    cout << ' ';
 
    fin.close();
 
    fout.open(file_directory_1, ios_base::app); // ios_base::app предназначен для последующей запичси данных в конец файла
    for (int i = 0; i < words_from_file_2.size(); i++)
    {
        fout << words_from_file_2[i] << ' ';
    }
 
    fout.close();
 
    return 0;
}
0
10.06.2017, 12:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2017, 12:41
Привет! Вот еще темы с ответами:

Вывести на экран содержимое текстового файла - C++
Написать программу работающую в текстовом режиме (Ширина экрана равна 80 столбцов)которая должна выводить на экран текстовый файл(имя...

Переписать содержимое текстового файла в новый файл - C++
дан текстовый файл f, переписать содержимое в новый файл g.

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

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


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

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

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