baoli...@gmail.com wrote:
Dear R-ers,
I am a gratuate student from South China University of Technology. I fond
the function 'sprintf' in R2.10.1 have a little bug(?):
When you type in the example codes:
sprintf("%s is %f feet tall\n", "Sven", 7.1)
and R returns:
[1] "Sven is 7.100000 feet tall\n"
this is very different from the 'sprintf' function in C/C++, for in C/C++,
the format string "\n" usually represents a new line, but here, just
the plain text "\n"!
No, this is exactly the same as in C/C++. If you compare the result of
sprintf to "Sven is 7.100000 feet tall\n" with strcmp() in C, they will
compare equal.
> s <- sprintf("%s is %f feet tall\n", "Sven", 7.1)
> s
[1] "Sven is 7.100000 feet tall\n"
> nchar(s)
[1] 27
> substr(s,27,27)
[1] "\n"
The thing that is confusing you is that strings are DISPLAYED using the
same escape-character mechanisms as used for input. Compare
> cat(s)
Sven is 7.100000 feet tall
>
Is it a bug, or a deliberate design?
Design, not bug (and please don't file as bug when you are in doubt.)
Thanks for your attention!
Best wishes!
Yours sincerely,
Baoli Qin
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalga...@biostat.ku.dk) FAX: (+45) 35327907
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel