С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 55
1

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

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

Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2017, 11:14
Ответы с готовыми решениями:

Добавить в конец первого файла содержимое второго файла
Text6. Даны два текстовых файла. Добавить в конец первого файла содержимое...

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

Сформировать имя второго файла из имени первого добавлением текстового постфикса "_comp"
Есть файл с информацией, я ввожу его имя для открытия и дальше работаю с ним....

Как определить конец текстового файла?
Собственно весь вопрос в заголовке. Пробовал с eof, но не получается. ...

Зашифровать содержимое текстового файла
Зашифровать содержимое текстового файла с помощью заданного с клавиатуры...

4
anapshy
215 / 208 / 185
Регистрация: 14.11.2016
Сообщений: 821
Завершенные тесты: 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
fastb1t
Software Developer
252 / 179 / 96
Регистрация: 03.05.2017
Сообщений: 647
Завершенные тесты: 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 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 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
igorekvp
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 13
22.10.2018, 13:42 5
mskoromets, mskoromets, прошу помощи в организации текстового файла посещения курсантами компьютерного класса . Время и дата посещения берется системное. В первый день посещения создается текстовый файл с заголовком даты и времени посещения (Здесь первая проблема- как сделать, чтобы при открытии текстового файла этот заголовок не повторялся.) После окончании посещения курсантом программы, файл сортируется по алфавиту фамилии. На следующий день, создаем второй такой же файл, который, по истечению дня, должен быть дописан в первый созданный файл.(Вторая проблема - как сделать, чтобы программа сама понимала, что день прошел и результаты надо занести в первый день посещений)Вид желаемого файла показан во вложении. Сам, новичок. Если сможете помочь буду очень благодарен, или посоветуйте к кому можно обратиться.

Код вывода текстового файла-

#include <vector>
#include <fstream> //****************** Программа Н Е Р А Б О Т А Е Т *************************
#include <ctime> // О Т С О Р Т И Р О В А Н О
#include <algorithm>
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;
bool comp2 (int a,int b) { return (a>b); }
int A,B,C,D,E;
int input1;
int А0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,A3 2,A33,A34,A35;



std::string klas;
std::string fam;
std::string im;
std::string ot;
int day; // День
int month; // Месяц
int year; // Год
int main()


{
system("chcp 1251>nul");
system("color 1f");


std::cout<<" \t Ваше фамилия - " ;
std::cin>>fam;

std::cout<<" \t Ваше имя - ";
std::cin>>im;

std::cout<<" \t Ваше отчество - " ;
std::cin>>ot;

std::cout<<" \t Введите класс - ";
std::cin>>klas;
//std::cout << "\n\t Ваш класс : " << klas << " \n"; //std::getline(std::cin, klas);


A0=5;
time_t rawtime;
time (&rawtime);
std::cout <<"\t "<<ctime (&rawtime)<<endl;



std::cout <<"\t"<<" " <<fam <<" "<<im<<" "<<ot<<" "<<klas<<" - класс "<<" "<<"Оценка - "<<A0 <<" "
<<ctime (&rawtime)<<"\n"<< endl;
time_t t = time(0); // get time now
struct tm * now = localtime( & t );
day = now->tm_mday;
std::cout <<"\t" <<day<<endl;
month = now->tm_mon + 1;
std::cout <<"\t" <<month<<endl;
year = now->tm_year + 1900;
std::cout <<"\t" <<year<<endl;
std::cout <<"\t"<<day<<"."<<month<<"."<<year<<endl;



system("pause");


if(klas=="231"){
// создать файл и туда внести информаци о посещении
std::ifstream file ("j:\\1\\ЛР231.txt");
if (file.is_open())// вызов метода is_open()
std::cout << "\n\t Все ОК! Файл открыт!\n\n" << endl;
std::fstream inOut ("j:\\1\\ЛР231.txt", std::ios::in | std::ios::app); //Открыли для чтения и записи app
if (inOut) // //Если файл существует, то
inOut <<"\t" <<" "<<fam <<" "" \t "<<im<<" "" \t "<<ot<<" "" \t "<<klas<<" - класс "<<" "<<"Оценка - "<<A0
<<" "<<ctime (&rawtime)<< endl;


std::cin.get();
file.close();
std::cout << "\n\t Все ОК! Файл закрыт!\n\n" << endl;
std::string s;
std::vector<std::string> lines;

// читаем файл в контейнер построчно
std::ifstream in_file("j:\\1\\ЛР231.txt", std::ios::in);//"r+",
while(getline(in_file, s))
lines.push_back(s);
in_file.close();

std::sort(lines.begin(), lines.end()); // сортируем контейнер
// std::sort(time) ; //Проба сортировки по времени reverse
// и записываем отсортированный контейнер в новый файл
std::vector<std::string>::iterator i = lines.begin();
std::ofstream out_file("j:\\1\\ЛР231.txt", std::ios::out);//"r+",
for(; i != lines.end(); ++i)
out_file << *i << std::endl;
out_file.close();
system("pause");}
0
Миниатюры
Добавить в конец первого текстового файла содержимое второго текстового файла  
22.10.2018, 13:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2018, 13:42

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

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

Как поместить содержимое текстового файла в Edit?
Подскажите, пожалуйста, как проще всего поместить содержимое текстового файла в...


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

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

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