viernes, 16 de diciembre de 2011

C++ - Leccion 4

Parseo de Datos

En algunas oportunidades nos encontramos en la situación que necesitamos operar matemáticamente los datos de nuestro programa, pero resulta que si el dato es de tipo string (texto), no podemos operarlo (+,-,*,/), tenemos que convertirlo a entero o a decimal antes de poder operarlo, para ello existen diversas formas de pasar de formato texto a formato número, la técnica se denomina parseo y varía en los distintos lenguajes de programación, a continuación les mostraré como hacerlo en C++:

Para parsear usaremos la librería : #include <sstream>  (si la ponen arribita del codigo)
Para usar los strings usaremos la librería : #include <string>  (si también la ponen arribita del codigo)

Les quedaría de esta forma:

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
      system("PAUSE");
    return EXIT_SUCCESS;
}

Ahora declaramos un string simple:

string texto="12"; //  el texto a convertir
istringstream buffer(texto); // ahora la variable buffer es el que se encargará de convertir el texto.
int resultado;  // declaramos la variable para que almacene el valor numérico
buffer >> resultado; // y se convierte el texto en número y queda almacenado en "resultado"

El programa completo sería este:

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
  string some_string="12";
  istringstream buffer(some_string);
  int some_int;
  buffer >> some_int;
 cout<<some_int<<endl;

   
    system("PAUSE");
    return EXIT_SUCCESS;
}
//Espero les  sea de mucha utilidad esta lección, gracias por seguirme dia a dia muchachos.

No hay comentarios:

Publicar un comentario