Buenas xD
Despues de muchas horas de intentos y busquedas por internet (más un poquito de terquedad) he logrado utilizar el strtok con variables tipo strings.
No se si a alguien más aquí le ha pasado que al utilizar el strtok le sale mensajes de error tipo "Imposible convertir char* to const char*"... buscando en varias páginas lo común que encontraba era alternativas a strtok(funciones creadas por otros usuarios), e incluso una página decía que el strtok no trabajaba con strings.
Bueno, esto es un código de ejemplo:
Código C++:
Ver original//Code::Blocks 8.02
#include <cstring>
#include <iostream>//char *tmp = (char*)param0.c_str();
using namespace std;
//Dividir en Tokens
int main()
{
string oracion= "Me van a despedazar T_T";
char *frase = (char*)oracion.c_str(); //AQUI ERA DONDE ME QUEBRABA EL COCO
char *ptr;
cout << "Frase: " << frase << endl;
ptr
= strtok(frase
," ");//argumentos: frase, caracter delimitador int c = 0;
string tokens[1000];
while(ptr != NULL)
{
tokens[c] = ptr;
c++;
}
int numero;
for(int i = 0; i < 10; i++){
cout << "\nQue parte de la frase desea conocer?: ";
cin>>numero;
numero = (numero <= c && numero-1 >= 0)?numero:1;
cout << "\nLa palabra en esta posicion es \""<<tokens[numero-1]<<"\""<<endl;
}
cout << "Cantidad de palabras: "<<c;
return 0;
}
Al principio por ingenuidad lo que se me ocurrio fue:
char frase = oracion;
Soy nuevo en C++ y me causa dificultad acostumbrame a algunas cosas (lo mio es PHP) y estoy completamente seguro que éste código se puede mejorar. Me encantaria ver sugerencias xD ya que en ocasiones me obsesiono por hacer códigos muy compactos o resumidos. =D