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

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

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

Текстовые файлы - C++

17.08.2015, 10:12. Просмотров 312. Ответов 7
Метки нет (Все метки)

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. Как это решить? Помогите, пожалуйста.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2015, 10:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текстовые файлы (C++):

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

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

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

Текстовые файлы. - C++
Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так,...

Текстовые файлы - C++
Когда сдавал программу, придрались к тому, что у меня файл считывается в строку. Как исправить? #include <iostream.h> #include...

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

7
zss
Модератор
Эксперт С++
6693 / 6255 / 2084
Регистрация: 18.12.2011
Сообщений: 16,325
Завершенные тесты: 1
17.08.2015, 10:17 #2
Читаете первый файл (fin) построчно в символьный массив char txt[256];fin.getline(txt,256);
Узнаете длину строки n=strlen(txt);
Записываете в выходной файл (fout) последний символ fout<<txt[n-1];
0
EgorVans
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 34
17.08.2015, 10:19  [ТС] #3
zss, я ничего не понимаю. Вроде делать надо как то через fstream
0
zss
Модератор
Эксперт С++
6693 / 6255 / 2084
Регистрация: 18.12.2011
Сообщений: 16,325
Завершенные тесты: 1
17.08.2015, 10:52 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Что же тут непонятного?
C++
1
2
3
4
5
6
ifstrean fin("filein.txt");
ofstream fout("fileout.txt");
char txt[256];
while(fin.getline(txt,256) )
  fout<<txt[strlen(txt)-1];
fout(close);
1
EgorVans
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 34
17.08.2015, 11:04  [ТС] #5
zss, а вот это правильно?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    std::ofstream o("output.txt");
    std::string str;
    while(std::getline(ifs, str) && o << *str.rbegin());
}
0
zss
Модератор
Эксперт С++
6693 / 6255 / 2084
Регистрация: 18.12.2011
Сообщений: 16,325
Завершенные тесты: 1
17.08.2015, 11:13 #6
Если Вы понимаете, что такое STL контейнеры и итераторы, то подойдет.
Только реверсивный итератор разыменовали неправильно (* более приоритетная операция, чем . ):
C++
1
2
while(std::getline(ifs, str) && o << *(str.rbegin()) )
   ; // обязательно указывайте комментарий, что пустой оператор поставлен сознательно
З.ы. И не используйте букву o для идентификаторов.
0
nmcf
5769 / 5080 / 1735
Регистрация: 14.04.2014
Сообщений: 20,786
17.08.2015, 11:15 #7
А зачем o << *str.rbegin() в условие вставлено, почему не в самом цикле?
0
Mr.X
Эксперт С++
3054 / 1699 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
17.08.2015, 11:16 #8
Цитата Сообщение от EgorVans Посмотреть сообщение
а вот это правильно?
Не совсем. Во-первых, вместо
Цитата Сообщение от EgorVans Посмотреть сообщение
*str.rbegin()
можно str.back() использовать, а, во-вторых, строку надо проверять на пустоту, иначе на пустой строке программа хряпнется.
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
#include <iostream>
#include <iterator>
#include <fstream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    std::locale::global(std::locale(""));
    std::ifstream   ifile("i.txt");
    std::ofstream   ofile("o.txt");
    if( !ifile )
    {
        std::cout   <<  "Невозможно прочитать файл."
                    <<  std::endl;
    }
    else
    {
        T_str   s;
 
        while   (
                    getline (
                                ifile,
                                s
                            )
                )
        {
            if  (
                    !s.empty()
                )
            {
                ofile   <<  s.back();
            }
        }//while
    }//else
 
    system("pause");
}
1
17.08.2015, 11:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2015, 11:16
Привет! Вот еще темы с ответами:

Текстовые файлы - C++
#pragma argsused #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;iterator&gt;- Что вот это за библиотека? и зачем...

Текстовые файлы - C++
В исходном файле float–числа в формате с фиксированной точкой (5 знаков после запятой). Создать из «-»-х чисел, следующих за двумя «+»-ми...

текстовые файлы - C++
Дан текстовый файл f.Переписатьв файл g все компоненты файла f с заменой в них символа 0 на символ 1 и наоборот Добавлено через 1 час...

Текстовые файлы - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include&lt;conio.h&gt; #include&lt;iomanip&gt; using namespace...


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

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

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