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

Подскажите, как сделать вывод файла в терминал постранично после нажатия Enter? С++

20.02.2022, 12:40. Показов 1636. Ответов 6
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Программа принимает имя текстового файла в качестве аргумента в командной строке и выводит содержимое файла в стандартный поток вывода. Этот код на данный момент читает и отображает весь файл

# include <iostream>
# include <fstream>
# include <string>
int main()
{
using namespace std;
string st,str;
cout << "enter name files: ";
char name[10];
cin >> name;
ifstream inf(name);
if (!inf)
{
cout << "file could not be opened " << endl;
}
else
{
cout << "file open"<< endl;
int i = 0;
while(!inf.eof())
{
getline(inf,st);
for(i=0; i < st.length(); i++)
str +=st[i];
cout << st <<"\r\n";
}
}
inf.close();
}

Thanks in advance for your help
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2022, 12:40
Ответы с готовыми решениями:

После нажатия enter пролетели в ряд строки кода с текстом. Как сделать?
надо чтоб после нажатия enter пролители в ряд строки кода с текстом когда нажали enter автоматом пролители строки с текстом в рядом

TextBox. Сделать активным после нажатия клавиши Enter
Ребята есть такая проблема! У меня на форме есть &quot;TextBox&quot;. Я ввожу в нем цифры. По нажатию клавиши &quot;Enter&quot; из этого...

Передача данных дочернему процессу посредством pipe(): иммитация нажатия enter через терминал
Всем привет. Столкнулся с такой проблемой: есть программа, считывающая логин и пароль (последовательно, сначала логин, после ввода запрос...

6
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 12:52
Самый простой вариант:
C++
1
system("MORE \"FILE_1.TXT\"");
Или заморачиваться с APIфункциями getconsoleWidth, getconsoleHeight
1
0 / 0 / 0
Регистрация: 18.02.2022
Сообщений: 5
20.02.2022, 13:04  [ТС]
Можете подсказать, как это прописать через API функции ?
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 13:08
Лучший ответ Сообщение было отмечено EvgEvs как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
 
int main(int argc, char *argv[]) {
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    int columns, rows;
 
    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
    columns = csbi.srWindow.Right - csbi.srWindow.Left + 1;
    rows = csbi.srWindow.Bottom - csbi.srWindow.Top + 1;
 
    printf("columns: %d\n", columns);
    printf("rows: %d\n", rows);
    return 0;
}
1
0 / 0 / 0
Регистрация: 18.02.2022
Сообщений: 5
20.02.2022, 13:26  [ТС]
"Windows.h"- это же библиотека для windows API ?

Добавлено через 4 минуты
Нет способа реализовать это на linux в POSIX API ?
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 14:59
Лучший ответ Сообщение было отмечено EvgEvs как решение

Решение

EvgEvs, к сожалению(или нет). Линуха установленного нету. В POSIX API я ноль.
Вот пример для WINAPI:
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
59
60
61
62
63
#include<iostream>
#include<fstream>
 
#include<windows.h>
 
 
int get_con_height(void)
 {
CONSOLE_FONT_INFO info;
GetCurrentConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &info);
return info.dwFontSize.Y;
 }
 
int getCoord_y( void )
 {
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo( GetStdHandle(STD_OUTPUT_HANDLE), &info );
return info.dwCursorPosition.Y;
 }
 
 
int main()
 {
std::fstream in( "file.txt" );
char c;
int lines, words, symbols;
lines = words = symbols = 0;
 
int con_height = get_con_height();
 
POINT p;
 
 
bool Eof;
 
if( in )
 {
 int flag = 0;
 while( true )
  {
  in.get( c );
  Eof = in.eof();
 
  if( getCoord_y() >= con_height )
   {
   std::cout << "Press ENTER to continue...";
   std::cin.get();
   system( "CLS" );
   }
  std::cout << c;
 
  if( Eof ) break;
  }
 
in.close();
 }
else std::cout << "Can`t open file" << std::endl;
 
 
std::cout << "\nPress ENTER to exit..." << std::endl;
std::cin.get();
return 0;
 }
Обычно все юзеры Linux-a жеские прогеры сами все могут.

Добавлено через 2 минуты
Ps. Мож по образу и подобию сделаешь
0
0 / 0 / 0
Регистрация: 18.02.2022
Сообщений: 5
20.02.2022, 15:04  [ТС]
хорошо, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2022, 15:04
Помогаю со студенческими работами здесь

Как сделать вывод новостей в 2 колонки и постранично?
Нужно сделать сайт как на скриншотах, меня смущает вывод новостей на главной, как это можно организовать? И в целом какую тему лучше...

После нажатия клавиши Enter или нажатия на Button
Помогите пожалуйста.:-[ Задача: После нажатия клавиши Enter или нажатия на Button поле курсора переходит в соответствующий компонент...

Как поставить каретку в начало после нажатия Enter в richtextbox?
В приложении перед тем, как вводить данные в richtextbox, нужно нажать Enter. Но после этого у меня каретка переносится на строку вниз. Как...

Как сказать scanf-у не переводить строку после нажатия Enter?
Мне надо, чтобы после ввода, курсор в консоли оставался на прежнем месте. Частично, этого я смог добиться при помощи функции...

Как сделать, чтобы событие TextChanged срабатывало без нажатия Enter?
подскажите пожалуйста, как сделать, что-бы событие TextChanged срабатывало без нажатия enter? protected void...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru