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

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

Войти
Регистрация
Восстановить пароль
 
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
#1

Похоже на постраничный вывод. - C++

04.06.2009, 20:32. Просмотров 686. Ответов 6
Метки нет (Все метки)

Мне нужно написать функцию, чтобы если содержимое файла содержит больше строк, чем экран, выдавать те, что влазят строчки, и по нажатию любой клавиши - еще серию на весь экран?
Как это возможно?
Вот у меня функция, которая выводит содержимое файла на экран:

int txt2()
{
char s[800];
int i, count,n=0;
FILE *fin, *fout,*f;

fin = fopen(str1, "r");
{
fout = fopen("output.txt", "w");
while(fgets(s, sizeof(s), fin) != NULL) {
for(i = count = 0; s[i] != '\n' && s[i] != EOF; i++)
if(s[i] == ' ')
count++;
n++;

printf("%s", s); //вывод
fprintf(fout, "\n%d = %d",n, count);
}
fclose(fin);
fclose(fout);

getch();
}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2009, 20:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Похоже на постраничный вывод. (C++):

Постраничный вывод текста - C++
У меня есть функция вывода содержимого файла на экран. И задаётся максимальное количество строк на одну страницу 21. И если у меня на...

Постраничный вывод в консоли - C++
Доброго времени суток. Скажите пожалуйста, как добавить в консольное приложение возможность постраничного вывода (наподобие ключа /p для...

НУжно найти ошибку из-за, которой крэшится программа. Похоже на вечный цикл - C++
По тестам выходит, что фейл находится в функции final, но не могу понять где, вроде уходит в вечный цикл и не может найти нуль-символ в...

Класс "ArrayList", похоже на проблему с выделением памяти - C++
Вроде бы все работает, ошибок не выдает... но на выходе совсем не то, похоже на проблему с выделением памяти... ArrayList.h #pragma...

Постраничный вывод - PHP
Подскажите пожалуйста! На многих сайтах замечал , что в постраничном выводе выделяется любая, нажатая кнопка до 5 вначале, а также если...

постраничный вывод - SQL Server
подскажите как сделать постраничный вывод. нахожу только по подсчету строк во всей таблице.а мне надо чтобы только из одного поля(строки)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
04.06.2009, 20:35 #2
Слить текст во временный файл, скачать утилиту gnu less, затем зашить в программу вызов type tmp.txt | less ?
Все остальное потребует сурьезного программирования.
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
04.06.2009, 20:48  [ТС] #3
Уж как-то слишком страшно получается! А что , нельзя отделаться какой-нибудь скромненькой функцией?
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
04.06.2009, 21:02 #4
Готовых функций нет, так что придётся самой
Начать можно с гоогления windows console functions, чтобы понять чё ваще в принципе можно поюзать.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.06.2009, 21:07 #5
Цитата Сообщение от Ksy Посмотреть сообщение
Мне нужно написать функцию, чтобы если содержимое файла содержит больше строк, чем экран, выдавать те, что влазят строчки, и по нажатию любой клавиши - еще серию на весь экран?
И что тут сложного? Вывела заданную порцию и жди пока не отработает getch(), т.е. пока юзер не нажмет клавишу.
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
04.06.2009, 21:15  [ТС] #6
Ну вот, а как мне задать это условие, по поводу вывода определённого количество строк ?
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.06.2009, 21:28 #7
Цитата Сообщение от Ksy Посмотреть сообщение
Ну вот, а как мне задать это условие, по поводу вывода определённого количество строк ?
Помедитируй над следующим кодом (вывод по 4 строки):
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
#include <stdio.h>
#include <conio.h>
#define LINES 4
 
main(void)
{
    FILE *ifp;
    int i;
    char buf[128];
    
    if( (ifp = fopen("input.txt", "r")) == NULL)
        return 1;
        
    i = 0;
    while(fgets(buf, sizeof(buf), ifp) != NULL) {
        fprintf(stdout, "%s", buf);
        i++;
        if(i >= LINES) {
            i = 0;
            getch();
        }
    }
    fclose(ifp);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2009, 21:28
Привет! Вот еще темы с ответами:

Постраничный вывод - PHP
Добрый вечер. Пишу сайт, нужен постраничный вывод новостей, погуглил, не нашел не чего толкового, взял один пример который был не...

Постраничный вывод - PHP
здравствуйте подскажите как правильно вписать постраничный вывод в мой код? вот сама функция постраничного вывода &lt;?php function...

Постраничный вывод - PHP
Всем добрый день! Есть код постраничного вывода из БД, все работает, но при нажатии на следующую страницу, не показывает следующие 10...

Постраничный вывод - PHP
Привет!!! Вот код постраничного вывода записей, оно то работает, но выводит только записи на первой странице, остальные страницы пустые....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.06.2009, 21:28
Ответ Создать тему
Опции темы

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