トップ
新規
一覧
単語検索
最終更新
ヘルプ
ログイン
アールメカブ
hidden_R文字コード変換
をテンプレートにして作成
開始行:
[[Rの備忘録]]
中間さんにもらったコード
#include <R.h>
#include <Rinternals.h>
#include <R_ext/Riconv.h>
extern int utf8locale;
SEXP testce(void){
SEXP res;
const char oni[] = { 0xe8, 0xa8, 0x98, 0xe5, 0x8f, 0x...
char buf[128];
{
void *cd;
const char *i_buf = oni;
size_t i_len = strlen(oni);
char *o_buf = buf;
size_t o_len = sizeof(buf);
cd = Riconv_open("", "UTF-8");
Riconv(cd, &i_buf, &i_len, &o_buf, &o_len);
Riconv_close(cd);
}
PROTECT (res = allocVector (STRSXP, 1));
SET_STRING_ELT(res, 0, mkCharCE(buf,
(utf8locale)?CE_UTF8:CE_NATIVE));
UNPROTECT (1);
return res;
}
これをコンパイルして
dyn.load("C:/minGW/testce.dll")
.Call("testce")
dyn.unload("C:/minGW/testce.dll")
終了行:
[[Rの備忘録]]
中間さんにもらったコード
#include <R.h>
#include <Rinternals.h>
#include <R_ext/Riconv.h>
extern int utf8locale;
SEXP testce(void){
SEXP res;
const char oni[] = { 0xe8, 0xa8, 0x98, 0xe5, 0x8f, 0x...
char buf[128];
{
void *cd;
const char *i_buf = oni;
size_t i_len = strlen(oni);
char *o_buf = buf;
size_t o_len = sizeof(buf);
cd = Riconv_open("", "UTF-8");
Riconv(cd, &i_buf, &i_len, &o_buf, &o_len);
Riconv_close(cd);
}
PROTECT (res = allocVector (STRSXP, 1));
SET_STRING_ELT(res, 0, mkCharCE(buf,
(utf8locale)?CE_UTF8:CE_NATIVE));
UNPROTECT (1);
return res;
}
これをコンパイルして
dyn.load("C:/minGW/testce.dll")
.Call("testce")
dyn.unload("C:/minGW/testce.dll")
ページ名: