| stream - a file stream opened for reading, or a TCP stream |
|
Reads a string written with WriteString from a file or stream. WriteString stores a string as a 4-byte length followed by the characters themselves, and ReadString expects exactly that layout. Strings of any length round-trip perfectly, including empty ones and text containing line breaks - which is what makes the pair better than WriteLine/ReadLine for binary save data. Because of the length prefix this is strictly for binary files and streams: pointing ReadString at a plain text file makes it treat the first four characters as a length, with junk results - use ReadLine for text. A wildly wrong length (from reading the wrong kind of file, or a desynced stream) can also stop the program with a runtime error. Reading past the end of the file returns "". See also: WriteString, ReadLine, ReadInt, Eof. |
; ReadString Example
; ------------------
; Save two strings so there is something to read
file=WriteFile("demo_savegame.dat")
WriteString file,"Robo"
WriteString file,"The Caves of Doom"
CloseFile file
; ReadString$ reads the 4-byte length written by WriteString,
; then exactly that many characters - any length round-trips
file=ReadFile("demo_savegame.dat")
name$=ReadString$(file)
level$=ReadString$(file)
CloseFile file
Print "Player: "+name$
Print "Level : "+level$
; Clean up the demo file
DeleteFile "demo_savegame.dat"
Print "Deleted demo_savegame.dat"
Print ""
Print "Press any key to close the example"
WaitKey
End