[R] .C and character
Douglas Bates
bates at stat.wisc.edu
Thu Mar 25 16:11:47 CET 1999
>>>>> "Torsten" == Torsten Hothorn <hothorn at amadeus.statistik.uni-dortmund.de> writes:
Torsten> Hi, I had a problem passing characters from R into c-code
Torsten> by dyn.load() and .C().
Torsten> test1.c: void R2Cstr(char *str) { printf("\n my char: %s
Torsten> \n", str[0]); }
You must declare str as char **str. The basic character vector in R
is a vector of strings, not a vector of characters. Notice that the
way you are printing it assumes that str[0] is char *, not char.
If you change your example to
test1.c:
void R2Cstr(char **str)
{
printf("\n my char: %s \n", str[0]);
}
test1.R:
dyn.load("mylib.so");
.C("R2Cdouble", as.character("test"));
it should work.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list