Pregunta

Estoy tratando de abrir un archivo dentro de un RCPP función, por lo que necesito el nombre del archivo como char* o std :: string.

Hasta ahora, he probado lo siguiente:

#include <Rcpp.h>
#include <boost/algorithm/string.hpp>
#include <fstream>
#include <string>

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;
}

Pero aparentemente, as no funciona para Rcpp::CharacterVector A medida que recibo un error de tiempo de compilación.

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

¿Existe una manera simple de obtener una cadena del argumento o de alguna manera abrir un archivo del argumento de la función RCPP?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top