From 9878ad46907ac57c49d5f92931845b7c4d37eb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20B=C3=ADlka?= Date: Mon, 23 Dec 2013 17:44:47 +0100 Subject: Clarify that scanf does not use character classes. Fixes bug 12986 Update documentation to say that scanf ("%[[:alpha:]]", c) does not read alphabetic characters but is parsed literarily. --- manual/stdio.texi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'manual/stdio.texi') diff --git a/manual/stdio.texi b/manual/stdio.texi index 30630ca..7dcacd8 100644 --- a/manual/stdio.texi +++ b/manual/stdio.texi @@ -3672,7 +3672,7 @@ of the width or precision by @code{MB_CUR_MAX}. To read in characters that belong to an arbitrary set of your choice, use the @samp{%[} conversion. You specify the set between the @samp{[} character and a following @samp{]} character, using the same syntax used -in regular expressions. As special cases: +in regular expressions for explicit sets of characters. As special cases: @itemize @bullet @item @@ -3692,6 +3692,10 @@ the characters listed. The @samp{%[} conversion does not skip over initial whitespace characters. +Note that the @dfn{character class} syntax available in character sets +that appear inside regular expressions (such as @samp{[:alpha:]}) is +@emph{not} available in the @samp{%[} conversion. + Here are some examples of @samp{%[} conversions and what they mean: @table @samp -- cgit v1.1