I don't think this works for generating a string:-
char c = Serial.read();
readString += c;}
It will not add a character onto the end of a string like you think.
Did it not produce a string when you tried it? With my arduino the string I put in the serial monitor text box is sent back to the serial monitor intact.
The if test will not be reached unless the while test concluded that there was serial data. Do you suppose that sometime while the Arduino was twiddling it's thumbs the data went away?
No, the arduino loops faster than the serial input buffer is fulled, and may see the buffer as empty on some loops. Comment out the delay, upload, open the serial monitor, and paste the below string or similar in the serial monitor box, and send it to the arduino. Is the string returned as one string, or is it broken into parts seperated with cr/lf?
qwertyuiopasdfghjklzxcvbnm