Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Аналог fgets() в WinApi

Ответить
Настройки темы
Аналог fgets() в WinApi
lehha


Сообщения: n/a

Профиль | Цитировать


Всем привет
Есть ли в WinApi функция аналогичная fgets(), а то ReadFile() возращает то количество символов которе ей укажешь, не обрывая начала новой строки.
Спасибо зарание.

Отправлено: 13:58, 27-04-2005

 

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Нет, насколько мне известно. ReadFile изначально заточена на буферизированный ввод, даже при отключении буфферизации там какая-то ерунда насчёт размера буфера (плохо помню). А почему Вы хотите обойтись без fgets? Это нормальная POSIX_стандартная функция.

Отправлено: 21:24, 28-04-2005 | #2



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

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

lehha


Сообщения: n/a

Профиль | Цитировать


hasherfrog
fgets() - работает с переменными типа FILE
Код: Выделить весь код
char *fgets(      char *string,     int n,     FILE *stream   );
,
а я работаю с файлом с помощью CreateFile().

Отправлено: 07:58, 29-04-2005 | #3


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Насколько я могу судить, придётся писать всё самому.
Ну или попробовать поискать в гугле готовый текст.
Есть 2 решения - читать по байту (медленно), или
организовать буфферизированное чтение с разбивкой (муторно).
Вам решать. У меня готового текста нет. к сжл. Как-то не приходилось...

Отправлено: 15:47, 30-04-2005 | #4

lehha


Сообщения: n/a

Профиль | Цитировать


Спасибо, писать дык писать

Отправлено: 12:32, 03-05-2005 | #5

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Не понял в чём проблема? Уже написанным не хочется пользоваться? Если глубоко покопаться, то fgets() вконце-концов запускает ReadFile. То же самое могу сказать про istream<>. Можно, конечно, если хочется обойти использование FILE*, но сохранить способности istream<>, воспользоваться стандартными "твиками": определить класс, похожий на basic_streambuf<>, у которого virtual underflow() использует ReadFile и записать:

typedef basic_istream<char, my_streambuf<char> > winapi_istream;

Линкер выкинет всё, что не нужно, и в коде останется только простенький winapi_istream.

Отправлено: 13:21, 04-05-2005 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Аналог fgets() в WinApi

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Работа с иконками + WinAPI Yashied AutoIt 0 14-05-2009 04:19
создание BRUSH в С++ WinAPI Vlad Drakula Программирование и базы данных 14 15-06-2006 19:10
WinAPI Guest Программирование и базы данных 1 19-03-2004 03:14
Книга по WinAPI antonym Программирование и базы данных 2 04-05-2003 11:59
WinApi fLANkeR Программирование и базы данных 3 25-01-2003 08:15




 
Переход