R から C に文字ベクトルを渡し、C 文字ポインターを介して参照しようとしています。しかし、どの型変換マクロを使えばいいのかわからない。以下は、私の問題を示す小さなテストです。
ファイル test.c:
#include <Rinternals.h>
SEXP test(SEXP chars)
{
char *s;
s = CHAR(chars);
return R_NilValue;
}
ファイル test.R:
dyn.load("test.so")
chars <- c("A", "B")
.Call("test", chars)
R からの出力:
> source("test.R")
Error in eval(expr, envir, enclos) :
CHAR() can only be applied to a 'CHARSXP', not a 'character'
手がかりはありますか?