I am working on a dictionary utility and I need to read in data from disk, the database is a just a list of words, but with the 1st letter missing, and no delimiters, i.e.
APPLE
ACKLE
ADDLE
would be stored as a string PPLECKLEDDLE
With it so far ?

OK, to read in the data, we know that this particular file contains 5 letter words beginning with 'A', so we start with 'A' and read in the first 4 bytes and add that to the 'A', then start with 'A' again, read next 4 bytes and so on.
The reading is being done in a loop, doing a BGET# for as many characters we need to read, now this works perfectly, but it's quite slow as you need to loop reading just one byte at a time.
Is there any way in BBC Basic, machine code call, hack etc to read a known number of bytes, i.e. a string in one operation, i.e. something like
in$=BGET# file,number of chars to read
I cant use INPUT# as that expects a certain format, and it does not know where the string ends ?
Any ideas ?