Hello Forum, I'm calling C function from R.It is a small sample trial program. The C function will accept a character and a integer and print them. It is printing some special character instead of input character. Below are the C function, Wrapper code ,R code and R output. Please help me in this issue Thank you in advance
C function (Name : checkstr.c) #include<stdio.h> int n_char(char n,int m) { int result; result = 3; //result = strlen(n); printf("the string is %c\n",n); printf("the silly number is %d\n",m); return result; } Wrapper Code (wrapcheckstr.c) #include <stdio.h> #include<string.h> int n_char(char ,int ); void checkstr_R_wrapper(char *n,int *m, int *result) { *result = n_char(*n,*m); } R code (checkstr.c) checkstr <- function(n,m) { if (!is.loaded(symbol.C('checkstr_R_wrapper'))) { dyn.load('checkstr.so') } returned_data = .C('checkstr_R_wrapper', n=as.character(n),m=as.integer(m), result=integer(1)) return(returned_data$result) } result in R > source('checkstr.R') > checkstr('a',3) Warning in symbol.C("checkstr_R_wrapper") : 'symbol.C' is not needed: please remove it the string is Ð the silly number is 3 [1] 3 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.