printf(1): Clarify that \OOO produces a byte, different %b escape sequences.

Octal escape sequences are expanded to bytes, not characters, and multiple
are required for a multibyte character.

The valid escape sequences in %b strings are slightly different from the
escape sequences in the format string.
This commit is contained in:
Jilles Tjoelker 2010-09-05 21:44:50 +00:00
parent 2ca3d70fc6
commit 3cf53e8550
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=212244

View File

@ -35,7 +35,7 @@
.\" @(#)printf.1 8.1 (Berkeley) 6/6/93
.\" $FreeBSD$
.\"
.Dd April 14, 2005
.Dd September 5, 2010
.Dt PRINTF 1
.Os
.Sh NAME
@ -109,12 +109,13 @@ Write a <single quote> character.
.It Cm \e\e
Write a backslash character.
.It Cm \e Ns Ar num
.It Cm \e0 Ns Ar num
Write an 8-bit character whose
.Tn ASCII
Write a byte whose
value is the 1-, 2-, or 3-digit
octal number
.Ar num .
Multibyte characters can be constructed using multiple
.Cm \e Ns Ar num
sequences.
.El
.Pp
Each format specification is introduced by the percent character
@ -289,6 +290,11 @@ As for
.Cm s ,
but interpret character escapes in backslash notation in the string
.Ar argument .
The permitted escape sequences are slightly different in that
octal escapes are
.Cm \e0 Ns Ar num
instead of
.Cm \e Ns Ar num .
.It Cm \&%
Print a `%'; no argument is used.
.El