¿Cómo puedo copiar una subcadena de una cadena dada con índice inicial y final o dar el índice inicial y la longitud de la cadena?copiando una subcadena de una cadena dado índice final en la cadena
Gracias, iSight
¿Cómo puedo copiar una subcadena de una cadena dada con índice inicial y final o dar el índice inicial y la longitud de la cadena?copiando una subcadena de una cadena dado índice final en la cadena
Gracias, iSight
Desde un std::string
, std::string::substr
va a crear un nuevo std::string
de una ya existente dado un índice de inicio y una longitud. Debería ser trivial determinar la longitud necesaria dado el índice final (aunque dependerá de si el índice final es inclusivo o exclusivo).
Si está intentando crear una subcadena a partir de una cadena de estilo C (una matriz char
terminada en NUL), puede usar el constructor std::string(const char* s, size_t n)
. Por ejemplo:
const char* s = "hello world!";
size_t start = 3;
size_t end = 6; // Assume this is an exclusive bound.
std::string substring(s + start, end - start);
std::string thesub = thestring.substr(start, length);
o
std::string thesub = thestring.substr(start, end-start+1);
suponiendo que quieren que el carácter end
XX que se incluirán en la subcadena.
Puede usar substr método od std: string class.
Nota, eso no comprueba que 'end' esté más allá del final de la cadena C. – Potatoswatter