Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

Текстовые файлы в С++ - C++
Добрый день. В летнюю практику входило задание написать программу в среде visual studio c++... Но за лето, конечно, забылась большая...

Текстовые файлы - C++
добрый день, помогите написать следующую программу (plz ... plz ... plz ))) : Случайным образом создать таблицу пар символьных...

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

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

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

Текстовые файлы - C++
В файле находятся вещественные числа. Определить количество чисел в наиболее длинной возрастающей последовательности элементов файла. ...

Текстовые файлы с++ - C++
Дан текстовый файл FileIn, записанный в кодировке DOS. Составить функцию ASCII_ ANSI (FileIn, FileOut) преобразования текстового файла в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6282 / 5885 / 1906
Регистрация: 18.12.2011
Сообщений: 15,099
Завершенные тесты: 1
17.08.2015, 10:17     Текстовые файлы #2
Читаете первый файл (fin) построчно в символьный массив char txt[256];fin.getline(txt,256);
Узнаете длину строки n=strlen(txt);
Записываете в выходной файл (fout) последний символ fout<<txt[n-1];
EgorVans
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 34
17.08.2015, 10:19  [ТС]     Текстовые файлы #3
zss, я ничего не понимаю. Вроде делать надо как то через fstream
zss
Модератор
Эксперт С++
6282 / 5885 / 1906
Регистрация: 18.12.2011
Сообщений: 15,099
Завершенные тесты: 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);
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());
}
zss
Модератор
Эксперт С++
6282 / 5885 / 1906
Регистрация: 18.12.2011
Сообщений: 15,099
Завершенные тесты: 1
17.08.2015, 11:13     Текстовые файлы #6
Если Вы понимаете, что такое STL контейнеры и итераторы, то подойдет.
Только реверсивный итератор разыменовали неправильно (* более приоритетная операция, чем . ):
C++
1
2
while(std::getline(ifs, str) && o << *(str.rbegin()) )
   ; // обязательно указывайте комментарий, что пустой оператор поставлен сознательно
З.ы. И не используйте букву o для идентификаторов.
nmcf
5122 / 4442 / 1481
Регистрация: 14.04.2014
Сообщений: 17,629
17.08.2015, 11:15     Текстовые файлы #7
А зачем o << *str.rbegin() в условие вставлено, почему не в самом цикле?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2015, 11:16     Текстовые файлы
Еще ссылки по теме:

Текстовые файлы - C++
Дан файл, содержащий целые числа. Записать их в другие два файла, при этом в первый записать четные, а во второй нечетные числа. Ребята,...

Текстовые файлы с++ - C++
Помогите решить задачу, почему то слова не удаляются. Удалить из файла все слова длиной более 10 символов #include &lt;errno.h&gt; #include...

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

Текстовые файлы - C++
Имеется текстовый файл. Все четные строки этого файла записать во второй, а нечетные в третий файл. Порядок следования строк сохраняется. ...

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


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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
3042 / 1687 / 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");
}
Yandex
Объявления
17.08.2015, 11:16     Текстовые файлы
Ответ Создать тему
Опции темы

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