Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/02/2011, 13:30
Avatar de Payaso73
Payaso73
 
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: Encontrar comillas

Lo primero que tenes que ver es grabar bien las comillas en texto ("\"Tarea 1\""), porque si no las grabas así desde un principio entonces la función no las va a encontrar porque no están :D

Otra cosa... no me acuerdo muy muy bien si esta bien como manipulas los string, porque me parece que eso que estas haciendo es para char, aparte string tiene varias funciones que te lo facilitan... acá te dejo un ejemplo que lo podes compilar y ejecutar tal cual está y después acomodalo para ponerlo en tu función...

También podes hacerlo de otras formas, por ejemplo usando la función find de string para buscar las comillas y con los indices que te devuelve usarlos en otra función para copiar lo de adentro.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int main(int argc, char *argv[]) {
  6.  
  7.         string texto="\"Tarea 1\""; //"Tarea 1" lo puse de ejemplo, sirve para cualquier caso, vos no lo inicias aca porque viene de otro lado
  8.         string tarea;
  9.         int largo=0;
  10.        
  11.         largo = texto.size()-2; // size te da el tamaño de texto y lo guarda en largo
  12.                                                    // le resté 2 porque no queres guardar las DOS comillas
  13.        
  14.                 tarea = texto.substr(1,largo); //substr extrae de texto y lo copia en tarea
  15.                                                                //el 1 es de donde comienza (porque CERO es una comilla)
  16.                                                                //y largo es cuantos caracteres copia (va hasta la ultima comilla, pero no la copia porque antes le resté 2)
  17.        
  18. // acá verefico que es lo que graba para ver si lo hace bien
  19.         cout << tarea << "\n";
  20.         cout << texto << "\n";
  21.         cout << largo;
  22.  
  23.     return 0;
  24. }



Espero te sirva de algo.
Saludos

Última edición por Payaso73; 26/02/2011 a las 13:32 Razón: En el primer renglon (Tarea 1) salen barras verticales, pero en realidad son barras invertidas