Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Jholer en 5 Julio 2019, 01:14 am



Título: Nuevo en c++, ayuda con vectores
Publicado por: Jholer en 5 Julio 2019, 01:14 am
Buenos días buenos amigos, no se como hacer esta operacion.

en python 3 lo hacia de esta forma:
///////////////////////////
string a = "causa"
print ( a[2:5] )

OUT => usa
//////////////////////////


No encuentro la forma de hacerlo en c++, pero intente hacerlo:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#include <iostream>
#include <string>
using namespace std;
int main()
{
      string a = "mototaxi";
      cout << a[0];                    //  E intentado con a[0][4]   |    a[0:4]   |  
}
OUT =>    "m"    

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

5 dias estoy aprendiendo c++ en youtube y viendo paginas web y no e conseguido obtener un parte de una string.
Porfa, si saben algun libro recomiendenme porfa pues primos para aprender C++.
Gracias Colegas {losveo} :rolleyes: ;D ;-)


Título: Re: Nuevo en c++, ayuda con vectores
Publicado por: K-YreX en 5 Julio 2019, 01:42 am
Usa las etiquetas de Código GeSHi para destacar los fragmentos de código...

Para lo que quieres hacer puedes por ejemplo copiar los caracteres que tú quieras:
Código
  1. string original = "cadena original";
  2. string resultado;
  3. for(size_t i = primer_caracter_a_copiar; i < total_a_copiar; ++i)
  4.    resultado.push_back(original[i]);
Tienes otras formas de hacerlo seguramente pero esta es una de ellas bastante simple de entender y sin usar funciones extrañas de esas que nadie sabe que existen.

Por ejemplo en C o si trabajas con <char*> lo que puedes hacer es mover el puntero de inicio y colocar el '\0' donde quieras acabar.
Código
  1. char original[] = "cadena original";
  2. char *resultado = original;
  3. resultado += primer_caracter_a_copiar;
  4. resultado[total_a_copiar] = '\0';

Si tienes alguna duda sobre algo ya sabes que puedes preguntar y por favor usa las etiquetas para los códigos.


Título: Re: Nuevo en c++, ayuda con vectores
Publicado por: Loretz en 5 Julio 2019, 02:22 am
Una parte de una string es una substring.

En tu ejemplo sería:

Código:
std::cout << a.substr(2, 3);

https://en.cppreference.com/w/cpp/string/basic_string/substr (https://en.cppreference.com/w/cpp/string/basic_string/substr)




Título: Re: Nuevo en c++, ayuda con vectores
Publicado por: Jholer en 10 Julio 2019, 07:19 am
Gracias por ayudarme, son los mejores  ;-)