Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
#1

Прототип функции reload_buff() - C++

29.07.2010, 14:12. Просмотров 756. Ответов 8
Метки нет (Все метки)

Приветствую Вас Господа

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

При вызове функции известны такие данные:
C++
1
2
3
4
5
sise_t file_size; /* количество символов в файле (заведомо больше buff_size) */
sise_t buff_size;  /* размер буфера */
sise_t cur_pos;   /* счетчик (изм. от 1 до file_size) он подходит к величине buff_size
                           то слева то справа и, соответственно нужно будет загрузить
                           или следующую или предыдущую порцию символов*/
Думал как-то так:
C++
1
2
enum Marker {NEXT, PREV};
char * reload_buff( Marker mark );
Но с перечислением связываться не хочу

Может кто-то делал подобную ф-цию мнебы просто взглянуть

Не по теме:

Не пинайте меня, может в процессе обсуждения поста ко мне прийдей хорошая мысль

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2010, 14:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прототип функции reload_buff() (C++):

Прототип функции - C++
Скажите,какой смысл описывать протип функции, тоесть первую строчку функции, прописывать ещё раз вверху, перед функцией main(). Что это...

прототип функции - C++
Использовать прототип функции То есть заголовок перед функцией main, а описание функции в теле функции main немогу с аргументами...

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

Прототип функции - C++
Как правильно: void mul(int x, int y); int main() { } void mul(int x, int y) {

Прототип функции - C++
Записать прототип функции, которая осуществляет перевод десятичного числа в двоичную систему. #include <stdio.h> #include <conio.h> ...

Прототип функции - C++
Здравствуйте я хотел спросить об прототипе функции ,а в общем для чего она нужна и как ее обозначать. Книга С.Прата Лекции и Упражнения.

8
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 14:24 #2
Цитата Сообщение от FireNovel Посмотреть сообщение
Посоветуйте, пожалуйста, как удобнее сделать заголовок функции
декларацию?
0
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
29.07.2010, 14:25 #3
FireNovel, сохраняй адрес пордковый номер текущей порцией
а потом пользуйся fseek
0
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
29.07.2010, 14:43  [ТС] #4
Мне бы с прототипом помочь, саму функцию я напишу сам...
Основная проблема с тем как удобнее ее вызвать, что передать ей в качестве параметров

Либо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char * reload_buff( int  );
...
//При вызове 
reload_buff( /*тут какая-то формулка типа*/  buff_size - cur_pos);
... 
// А в теле функции 
char * reload_buff( int  flag )
{
if (flag > 0 )
// то читать далее
else 
// читать ранее
}

Не по теме:

На языке вертится не могу сформулировать

0
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
29.07.2010, 14:45 #5
FireNovel,
C++
1
void reload_buff(void* buff, int blocksize, int blocknum, FILE* f)
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.07.2010, 14:55 #6
D@rkD@iver, А для каких целей buff - пустой указатель? оО
0
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
29.07.2010, 14:58  [ТС] #7
Цитата Сообщение от Lavroff Посмотреть сообщение
D@rkD@iver, А для каких целей buff - пустой указатель? оО
void можно привести к любому типу
1
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
29.07.2010, 15:08 #8
Lavroff, ну это просто универсальный указатель
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
30.07.2010, 03:13 #9
Цитата Сообщение от FireNovel
что нужно прочитать следующую или предыдущую порцию
C
1
int reload_buff(char *buf, size_t maxbuf, int backflag, FILE *fp);
а внутри
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    int retval;
    size_t n;
 
    if (backflag) {
        retval = fseek(... back ...);
        if (retval != 0)
            return -1;
    }
 
    n = fread(buf, 1, maxbuf, fp);
 
    if (n != maxbuf)
        return -2;
 
    return 0;
1
30.07.2010, 03:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2010, 03:13
Привет! Вот еще темы с ответами:

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

Прототип функции С++ - C++
Доброй ночи! помогите, пожалуйста, решить задачу с прототипом функции, вот условие: Написать функцию которая возводит указанное...

Прототип функции - C++
Здравствуйте) Написать программу упорядочивания элементов массивов А(50), В(50), С(50) по возрастанию, используя прототип функции. ...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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