Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77

Вывод строк из файла в обратном порядке

05.12.2014, 16:43. Показов 5507. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно что бы программа считала текст из файла и записала в другой файл тот же текст, но что бы предложения уже были в обратном порядке. Вот код программы, но выбивает постоянно. Подскажите как исправить ситуацию!

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
#include "stdafx.h"
#include <iostream>
#include <fstream> // библиотека для работы с файлам
#include <string>
 
using namespace std;
 
 void my_funk()
{
    ifstream fin("E:\\input1.txt");    //открытие файла
        if(!fin)                      //если файл не открывается
        {                                    //сообщение об ошибке
            cout << "Ошибка!" << endl;
            exit(1);
        }
 
    string str;
 
    ofstream fout("E:\\output2.txt");
        if(!fout)                      //если файл не открывается
        {                                    //сообщение об ошибке
            cout << "Ошибка!" << endl;
            exit(1);
        }
   //while(!fin.eof())
   //{
    getline(fin,str);
    if (fin >> str)
        my_funk();
   //}
    fout << str << endl;
    cout << str << endl;
 
    fin.close();
    fout.close();
}
 
void main()
{
    setlocale (LC_ALL,"rus");
    my_funk();
    system ("pause");
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2014, 16:43
Ответы с готовыми решениями:

Вывод символов из файла в обратном порядке
Собственно основное задание: программа, выводящая символы из файла в обратном порядке. Есть другая, которая выводит предложения из...

Выполнить сортировку строк файла в обратном лексикографическом порядке
Имеется текстовый файл, содержащий не более 100 строк. Выполнить сортировку строк файла в обратном лексикографическом порядке. Результаты...

Вывод слов в строках файла в обратном порядке
Нужно считать текст с файла, в каждой строке поменять порядок слов, и записать их в новый файл. Делаю посимвольно, и у меня не считывается...

11
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 17:00
Цитата Сообщение от Yana_Chernobay Посмотреть сообщение
C++
1
2
3
getline(fin,str);
 if (fin >> str)  // М/б посто if(fin)
    my_funk();

Цитата Сообщение от Yana_Chernobay Посмотреть сообщение
но выбивает постоянно
Что это значит ?
0
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
05.12.2014, 17:04  [ТС]
Qazan, Вывод предложений в обратном порядке
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 17:06
Yana_Chernobay, ок
0
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
05.12.2014, 17:08  [ТС]
Qazan, окошко результата запускалось и сразу закрывалось. Как оказалось нужно было просто вводить предложения в одну строку.
Но функция рекурсии не срабатывает(
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 17:18
Yana_Chernobay, вам строки нужны , строки могут содержать пробелы
std::cin >> действует до пробела
Так ,что нужен getline

Добавлено через 2 минуты
Yana_Chernobay,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
void recursive_io()
{
    std::string str;
    getline(std::cin,str);
    if (std::cin)
        recursive_io();
 
    std::cout << str << std::endl;
}
 
int main()
{
    recursive_io();
}

Вместо std::cin std::cout соответственно ваши файлики

Добавлено через 2 минуты
Если VisualStudio то так запускайте Сtrl+F5
и system("pause");
сработает автоматически без явной прописи
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 17:22
Eneter + Ctrl+Z - для имитаций конца файла
Миниатюры
Вывод строк из файла в обратном порядке  
0
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
05.12.2014, 17:25  [ТС]
Qazan, так и использую getline, не работает

Добавлено через 47 секунд
Qazan,
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
#include "stdafx.h"
#include <iostream>
#include <fstream> // библиотека для работы с файлам
#include <string>
 
using namespace std;
 
 void my_funk()
{
    ifstream fin("E:\\input1.txt");    //открытие файла
        if(!fin)                      //если файл не открывается
        {                                    //сообщение об ошибке
            cout << "Ошибка!" << endl;
            exit(1);
        }
 
    string str;
 
    ofstream fout("E:\\output2.txt");
        if(!fout)                      //если файл не открывается
        {                                    //сообщение об ошибке
            cout << "Ошибка!" << endl;
            exit(1);
        }
   while(!fin.eof())
   {
    getline(fin,str);
    if (fin)
        my_funk();
   }
    fout << str << endl;
    cout << str << endl;
 
    fin.close();
    fout.close();
}
 
void main()
{
    setlocale (LC_ALL,"rus");
    my_funk();
    system ("pause");
}
Добавлено через 22 секунды
Qazan, может я не правильно файлы подключаю
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 17:29
Yana_Chernobay, а так понятно

вам либо нужно в аргументах файлы передавать либо объявить их глобально

, а так вы при каждом вызове открываете файл с самого начала
0
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
05.12.2014, 17:46  [ТС]
Qazan, не понятно(

Добавлено через 3 минуты
Qazan, что бы я не делала, файл так и не открывается(
окошко так и соскакивает
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
05.12.2014, 18:59
Лучший ответ Сообщение было отмечено Yana_Chernobay как решение

Решение

Yana_Chernobay,

Не по теме:


неожиданно погас свет



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
#include <iostream>
#include <fstream>
#include <string>
 
std::ifstream fin;
std::ofstream fout;
 
void recursive_io()
{
    std::string str;
    getline(fin,str);
    if (fin)
        recursive_io();
 
    fout << str << std::endl;
}
 
int main()
{
    fin.open("input.txt");
    if(fin){
        fout.open("output.txt");
            recursive_io();
            fout.close();
            fin.close();
             std::cout << "Full success";
             system("pause");
    }
}
Добавлено через 2 минуты
Укажите свои путь к файлу input.txt
файл output.txt появиться после работы программы , также в указанной директорий

Сейчас все пути относительно места где лежит исходник
1
1 / 1 / 1
Регистрация: 08.09.2014
Сообщений: 77
05.12.2014, 22:27  [ТС]
Qazan, спасибо Вам большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2014, 22:27
Помогаю со студенческими работами здесь

Сортировка массива в порядке возрастания и вывод элементов в обратном порядке
нашла на форуме пару примеров, но они не полные и не запускаются, выбрала из них более менее подходящий, дальше было много вариантов но не...

Запись строк в обратном порядке.
Нужно сделать так, что-бы из файла N считывались строки и сохранялись в другой Файл в обратном порядке. Исключая любой символ который...

Перестановка строк в обратном порядке
объясните пожалуйста подробно код. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; const int N = 2; const int M = 3; int x = { { 1,...

Вывод в обратном порядке
Даны два целых числа a и b. Написать программу, которая будет выводить значения а и b в обратном порядке, то есть сначала b, потом а. ...

Вывод значений в обратном порядке
День добрый. Написал код по переводу любого числа из десятичной системы в двоичную. Но в двоичной систему значение отображается в обратном...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru