Показать сообщение отдельно
Старый 03.09.2005, 19:13   #8
alcosholik
 
Сообщений: n/a
ReadString$ (указатель_на_файл/поток)

Параметры
указатель_на_файл/поток = переменная, определенная командой OpenFile, ReadFile или OpenTCPStream (версия 1.52 и выше). Возвращаемое значение – текстовая строка.

Описание
Как только вы открыли файл на диске (или поток) для чтения, используйте эту команду для считывания строковой переменной из файла.

Каждая хранящаяся в файле строка представляет собой 4-байтовое (32-битное) integer-число, за которым следуют символы, формирующие строку. Integer-число содержит информацию о количестве символов в строке, т.е. ее длину. Заметьте, что символы «возврат каретки», «перевод строки» и Null НЕ используются для обозначения конца строки. Файл из строк не может быть прочитан, как текстовый файл, так как он содержит строковые переменные, а не текст. Нулевая строка, т.е. строка нулевой длины (“”) занимает 4 байта, integer-число со значением 0, за которым не следуют никакие символы. Строки не ограничены 255 символами, как в некоторых языках программирования. Чтение за пределами конца файла не вызовет ошибку, но каждое считанное значение будет строкой нулевой длины.

Эта команда должна быть использована только при чтении из двоичного файла или потока. С текстовыми файлами необходимо использовать ReadLine.

Потоками можно пользоваться только в версии Blitz Basic 1.52 или выше.

См. также: WriteString, OpenTCPStream, ReadFile, ReadLine, ReadByte, ReadShort, ReadInt, ReadFloat, ReadBytes, ReadAvail.

Пример
; Чтение и запись в файл, используя функции ReadString$ и WriteString

; Инициализировать несколько переменных для примера
String1$ = "Короткая строка" 
String2$ = "Более длинная строка" 
String3$ = "Это строка 3," 
String4$ = "соединенная со строкой 4"

; Открыть файл для записи
fileout = WriteFile("mydata.dat") 

; Записать информацию в файл 
WriteString( fileout, String1 ) 
WriteString( fileout, String2 ) 
WriteString( fileout, String3 + String4) 
WriteString( fileout, " Как видно, не обязательно использовать переменные." ) 

; Закрыть файл 
CloseFile( fileout ) 

; Открыть файл для чтения 
filein = ReadFile("mydata.dat") 

Read1$ = ReadString$( filein ) 
Read2$ = ReadString$( filein ) 
Read3$ = ReadString$( filein ) 
Read4$ = ReadString$( filein ) 

; Закрыть файл после завершения чтения
CloseFile( filein ) 

Print "Строковые переменные, считанные из файла mydata.dat " 
Print 
Print Read1 
Print Read2 
Print Read3 
Print Read4 

WaitKey()
 
Ответить с цитированием