fixbug: read<std::string>(L) wrong