[Rcpp-devel] convert to unsigned char* variable

Dirk Eddelbuettel edd at debian.org
Mon Oct 20 21:54:01 CEST 2014


Hi Gustaf,

On 20 October 2014 at 15:17, Gustaf Granath wrote:
| Im trying to use some C++ functions in R. However, these functions are 
| build around unsigned char* variables (1D array). I have for example a 
| large matrix in R that represents black (e.g. 1-bit image, 0 and 1s). I 
| cant find a solution to convert a character vector into unsigned char* 
| within Rcpp. Im new to Rcpp and C++ so I might have missed something 

Rcpp builds a bridge between R and C++, and supports (in C++) the types that
R supports.  Eg you won't find 'float' but only 'double' as that is what R
does. 

Here you will get character vectors easily. If they must be unsigned char,
you will probably have to cast them at the C++ level.

| obvious here. Please direct me to resources on this topic (google did 
| not help much).
| 
| A start:
| 
| SEXP test(SEXP cM){
|    CharacterVector Vc(cM);
|    int n = Vr.size();
|    RawVector x(n); //is this the same as unsigned char* ?

No, RawVector is for R 'raw' types -- see help("raw") in R,

Dirk

|                              //I tried to fill it with char*(Mr) but I 
| didnt succeed
| }
| 
| Thanks,
| 
| Gustaf
| 
| -- 
| Gustaf Granath (PhD)
| Post doc
| McMaster University
| School of Geography & Earth Sciences
| 
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list