преобразовать Rcpp :: CharacterVector в std :: string

Я пытаюсь открыть файл с помощью функции Rcpp , поэтому мне нужно имя файла в виде символа * или std :: string.

Пока что я пробовал следующее:

#include 
#include 
#include 
#include 

RcppExport SEXP readData(SEXP f1) {
    Rcpp::CharacterVector ff(f1);
    std::string fname = Rcpp::as(ff);
    std::ifstream fi;
    fi.open(fname.c_str(),std::ios::in);
    std::string line;
    fi >> line;
    Rcpp::CharacterVector rline = Rcpp::wrap(line);
    return rline;
}

Но, очевидно, , поскольку не работает для Rcpp :: CharacterVector , так как я получаю ошибку времени компиляции.

foo.cpp: In function 'SEXPREC* readData(SEXPREC*)':
foo.cpp:8: error: no matching function for call to 'as(Rcpp::CharacterVector&)'
make: *** [foo.o] Error 1

Есть ли простой способ получить строку из аргумента или каким-то образом открыть файл из аргумента функции Rcpp?

21
задан highBandWidth 7 December 2011 в 19:47
поделиться