strtoint float conversion c++ string int casting

float - ¿Cómo puedo convertir una cadena en un entero en C++



strtoint c++ (5)

Atoi ciertamente funciona, pero si quieres hacerlo de la manera C ++, las cadenas de caracteres son el camino a seguir. Es algo como esto, tenga en cuenta que el código no está probado y que probablemente no funcione de la caja, pero debería tener una idea general.

int i = 4; stringstream ss; ss << i; string str = ss.str();

Estoy intentando copiar el valor en la barra en el entero foo.

Esto es lo que tengo hasta ahora. Cuando lo ejecuto obtengo un valor hexadecimal diferente. Cualquier ayuda sería genial.

int main() { string bar = "0x00EB0C62"; int foo = (int)bar; cout << hex << foo; ChangeMemVal("pinball.exe", (void*) foo, "100000", 4); return 0; }

Entonces la salida debería ser 0x00EB0C62.


Para esto son las secuencias de cadenas, quieres hacer algo como esto.

#include< sstream> #include< string> #include< iostream> int main() { std::string bar="0x00EB0C62"; int foo=0; std::istringstream to_int; to_int.str(bar); to_int>>foo; std::cout<<std::ios_base::hex<<foo<<std::endl;; . etc. . return EXIT_SUCCESS; }

Eso debería hacer el truco. Lo siento si obtuve la ios_base incorrecta. No puedo recordar la ubicación exacta de la bandera hexagonal sin una referencia.


cuando se lanza una cadena como int, se obtiene el valor ascii de esa cadena, no el valor de la cadena convertida, para convertir correctamente 0x00EB0C62, tendrá que pasarlo a través de un analizador de cadenas. (una manera fácil es hacer una aritmética ascii).


atoi debería funcionar:

string bar = "0x00EB0C62"; int foo = atoi(bar.c_str());