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

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

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

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

# 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2022, 12:40
Ответы с готовыми решениями:

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

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

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

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

6
251 / 184 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 12:52 2
Самый простой вариант:
C++
1
system("MORE \"FILE_1.TXT\"");
Или заморачиваться с APIфункциями getconsoleWidth, getconsoleHeight
1
0 / 0 / 0
Регистрация: 18.02.2022
Сообщений: 5
20.02.2022, 13:04  [ТС] 3
Можете подсказать, как это прописать через API функции ?
0
251 / 184 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 13:08 4
Лучший ответ Сообщение было отмечено 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  [ТС] 5
"Windows.h"- это же библиотека для windows API ?

Добавлено через 4 минуты
Нет способа реализовать это на linux в POSIX API ?
0
251 / 184 / 47
Регистрация: 31.01.2021
Сообщений: 934
20.02.2022, 14:59 6
Лучший ответ Сообщение было отмечено 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  [ТС] 7
хорошо, спасибо
0
20.02.2022, 15:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2022, 15:04
Помогаю со студенческими работами здесь

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

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

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

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

Как можно заставить программу выполнять определенные действия после нажатия клавиши ENTER
кто-нибудь может подсказать!! я новенький в VB и почти ни какого опыта программирования в этой...

После загрузки биоса Windows грузится только после нажатия enter + f4
Люди, что это может быть если после загрузки биоса винда грузится только после нажатия enter + f4?...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru