Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 117
1

Прочитать и переписать из текстового файла в текстовый файл

27.11.2016, 12:38. Показов 764. Ответов 8
Метки с (Все метки)

Ребята, добрый всем день. Помогите, пожалуйста, новичку.
У меня имеется файл, его нужно прочитать построчно и переписать этот файл в другой, который программа создаст сама.
имеется код, который проверяет открывается ли мой файл или нет, а как реализовать все дальше не знаю. Буду очень благодарен за помощь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    ifstream file;
    file.open("Test1.txt", ios::out | ios::app);
    if (!file)
    {
        cout << "File error - can't open to write data!\n";
    }
    
    cout << "File was open\n";
 
        
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2016, 12:38
Ответы с готовыми решениями:

Из текстового файла переписать информацию в другой текстовый файл
Как это сделать? например в top.txt написано &quot;1&quot; его нужно переписать скажем в top_new.txt .Как это...

переписать данные из текстового файла, в другой текстовый файл
Добрый день. Есть код: setlocale(LC_ALL, &quot;rus&quot;); // корректное отображение Кириллицы ...

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

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++)
переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её...

8
494 / 208 / 70
Регистрация: 27.05.2016
Сообщений: 554
27.11.2016, 12:56 2
Ну, решить по быстрому можно так (пример из книги Саттера):
C++
1
2
3
4
5
6
7
#include <iostream>
#include <fstream>
 
int main()
{
    std::ofstream("res.txt") << std::ifstream("file.txt").rdbuf();
}
Добавлено через 1 минуту
А построчно читать можно через std::getline в цыкле.
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 117
27.11.2016, 13:29  [ТС] 3
Цитата Сообщение от notAll Посмотреть сообщение
А построчно читать можно через std::getline в цыкле.
простите, а Вы не могли бы показать примерно как? В интернете искал, но так и не нашел ответа...

Добавлено через 11 минут
notAll, переделал вот таким образом.
Но, я так понимаю, где-то ошибка.
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<iostream>
#include<fstream>
#include<string>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    ifstream file;
    {
        ofstream("res.txt") << ifstream("file.txt").rdbuf();
    }
 
    if (!file)
    {
        {
            cout << "File error - can't open to write data!\n";
        }
 
        cout << "File was open\n";
        return 1;
    }
    while (!file.eof()) 
    {
        string str;
        getline(file, str);
        cout << str << endl;
        {
            cout << "Read was close ok\n";
        }
        cout << "Bad read";
    }
    return 0;
        
}
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 5
27.11.2016, 13:38 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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ifstream fin("IN.txt"); 
    ofstream fout1("OUT1.txt");  // создаем наши файлы
    if (fin.peek() == EOF)     //проверяем на пустоту
    {
        cout << "File cannot be opened!\n";
        return -1;
    }
    else   // если не пустой 
    { 
        const int startSize = 256;  // длина строки 
        char* s= new char[256];  
        fin.getline(s, 256);  //считываем строку с файла и присваиваем ей имя s
        fout1 << s << endl; // записываем во второй файл эту же строку 
    }
    fin.close();
    fout1.close();
    return 0;
}
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 117
27.11.2016, 13:46  [ТС] 5
g_svetlane, спасибо большое!
А можно задать еще вопрос? Если мне в этом текстовом файле надо сперва найти слово (несколько слов), заключенных в кавычки и уже записать в новый файл так, чтобы эти слова были прописными буквами, как это можно реализовать?
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 5
27.11.2016, 14:07 6
ну, вроде вот так все работает)
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>
using namespace std;
 
int main()
{
    ifstream fin("IN.txt");
    ofstream fout1("OUT1.txt");
    ofstream fout2("OUT2.txt");
    if (fin.peek() == EOF)
    {
        cout << "File cannot be opened!\n";
        return -1;
    }
    else
    {
 
 
        char* s = new char[256];
        fin.getline(s, 256);
            bool flag = false;
            for (const char * p = s; *p; ++p)
                if (*p == '"')
                    flag ^= true;
                else
                    if (flag)
                        fout1 <<" " << *p;
        }
        fin.close();
    fout1.close();
        return 0;
}
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 117
27.11.2016, 14:18  [ТС] 7
Цитата Сообщение от g_svetlane Посмотреть сообщение
ну, вроде вот так все работает)
спасибо! Но, к сожалению, он только переписал слова, которые заключены в ковычки( не сделав их прописными), исключив остальные.
Но спасибо большое!
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 5
27.11.2016, 14:26 8
попробуй с этим уже сам, в с++ есть для этого функция, насколько я знаю )
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 117
27.11.2016, 15:03  [ТС] 9
g_svetlane, Спасибо Большое Вам за помощь. Но так ничего и не вышло у меня, буду дальше искать...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2016, 15:03

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Из текстового файла прочитать четные числа и записать их в другой файл (С++)
Из текстового файла прочитать четные числа и записать их в другой файл без использования массива...

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

Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание...

Из текстового файла прочитать четные числа и записать их в другой файл без использования массива (код С++)
Код есть только перед чтением файла нужно его создать, внести 15 чисел и закрыть, через ofstream. ...


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

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

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