Java Mailing List Archive

http://www.r-help.com/

Home » Home (12/2007) » R Help for Statistical Computing »

[R] Passing character strings from C code to R

Tuszynski, Jaroslaw W.

2005-07-15

Replies:

Hi,

I have a C code which produces array of integers and potentially a string,
and I have problems passing the string out. Here is the relevant part of the
code:

1  PROTECT(Ret = allocVector(INTSXP, n));
2  ret   = (int*) INTEGER(Ret); /* get pointer to R's Ret */
3  for(i=0; i<n; i++) ret[i] = data[i];
4  Free(data);
5  i=1;
6  if (comment) { // comment was found
7   n = strlen(comment);
8   if(n>0) {   // and it actually have some length
9     Rprintf(" '%s' %i\n", comment, n);
10     PROTECT(Str = allocString(n+1));
11     str = CHAR(STRING_ELT(Str, 0));
12     strcpy(str, comment);
13     Rprintf(" '%s' %i\n", str, n);
14     setAttrib(Ret, install("comm"), Str);
15     i=2;
16   }
17   Free(comment);
18  }
20  UNPROTECT(i);

Print statement in line 9 gives right results, but program crashes before
print statement in line 13.
Any ideas to what am I doing wrong?

Jarek
=====================================\====          
Jarek Tuszynski, PhD.                     o / \
Science Applications International Corporation <\__,|
(703) 676-4192                "> \
Jaroslaw.W.Tuszynski@(protected)             `   \

______________________________________________
R-help@(protected)
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
©2008 r-help.com - Jax Systems, LLC, U.S.A.