print charater, no need to buf