Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Есть ли аналог функции ReadLn в WinAPI?  (Прочитано 9698 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
monrus
Опытный

ru
Offline Offline

« : 24-06-2005 20:16 » new

Есть ли аналог функции ReadLn в WinAPI?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 25-06-2005 07:00 » 

Если для чтения из файла. То прямого аналога нет или я по крайней мере не видел. Функции WinAPI читают не строками из файла, а блоками. Это функции ReadFileEx, ReadFile . 
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
monrus
Опытный

ru
Offline Offline

« Ответ #2 : 25-06-2005 20:25 » 

у меня в текстовом файле в одной строке одно слово. Как раз и нужно, чтобы читалась строка, а потом следующая. Раз нет - так нет.
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 26-06-2005 13:10 » 

В стандартной библиотеке языка Cи есть функции gets и fgets

gets читает строку со стандартного потока ввода и сохраняет прочитанные символы в буфер.  Буквально ВСЕ книги и документация по библиотеке Си рекомендуют не пользоваться gets, так как эта функция не безопасна -- если длина строки больше размера буфера, то gets совершенно спокойно вылезет за пределы буфера, что чревато большими проблемами.  От указанного недостатка свободна функция fgets, так как один из параметров функции задаёт размер буфера.

подробнее см. MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_fgets.2c_.fgetws.asp
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 26-06-2005 19:00 » 

не совсем понятно, нафик нужен аналог, если саму функцию никто не отменял? для текстовых файлов она работает, как работала.

но, возможно, имеет смысл использовать TStrings:

Код:
var
  s: TStrings;
begin
  s := TStringList.Create;
  try
    s.LoadFromFile ('myfile');
    // теперь s [i] содержит i-ую строку из файла
  finally
    s.Free;
  end;
end;
« Последнее редактирование: 20-12-2007 19:10 от Алексей1153++ » Записан

monrus
Опытный

ru
Offline Offline

« Ответ #5 : 26-06-2005 20:54 » 

Молодец.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines