Serial data arrives ssslllooowwwlllyyy. The Arduino reads it rapidly. Why does the fact that the whole string doesn't arrive all at once surprise you?
I did not realize that arduino does not wait end of string. Thank you wery much! You really helped me - now I read UART manual at least.
Please sorry for my bad English.
The Arduino cannot wait till the end of the string since it knows nothing about
any string. The serial interface delivers one character after another, potentially forever,
there are no magic delimiters sent out-of-channel to break the stream up. Due to
USB serial conversion there's no guarantee an intersymbol gap isn't simply an artifact
of the USB drivers.
If you know there's a 9 character string coming, you can elect to do this:
if (Serial.available () >= 9)
// read the string, etc