Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> read(), работа функции 
:(
    Опции темы
naigo
Дата 3.8.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.7.2006

Репутация: нет
Всего: нет



нужно прочесть заданное количество бит из файла
написал такой вот код
Код

open (TR, "c:\\test.txt");
read (TR,$bfr,3,5);
print $bfr;

в файле test.txt содержится последовательность цифр от 0 до 100 разделённых запятыми т.е 1,2,3,4,5,...100 
при попытке считать не указывая оффсет работает как положено т.е 
Код

open (TR, "c:\\test.txt");
read (TR,$bfr,3);
print $bfr;

выводит 0,1
с указанием офсета $bfr содержит столько же пробелов сколько указанно в офсете, а затем байты считанные с начала файла
понимаю что вопрос ламерцкий smile 
хоть блин сабстрингом вырезай нужную часть

Это сообщение отредактировал(а) naigo - 3.8.2006, 21:16
PM MAIL   Вверх
Nab
Дата 3.8.2006, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 3
Всего: 37



Ну для начала, наверно имелось ввиду байт, а не бит....

Второе, в документации сказано, что смещение относиться не к читаемому потоку, да и по логике так, ведь некоторые потоки не известно где оканчивваются, и где было их начало.... посему смысла в таком чтении не много.... Смещение относиться к контейнеру который будет содержать считываемые данные, и там указано что при необходимости будет дополнен \0... поэтому и получаются пробелы, как отражение на экране значения байта с кодом 0.

Для считывания с необходимой позиции используйте seek.  Все таки файл не совсем строка, и subst не самое эффективное решение smile

Код

open (TR, "c:\\test.txt");    
seek(TR,5);
read (TR,$bfr,3);    
print $bfr;



--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.