title image


Smiley Re: Damit hatte ich gerechnet
Klar ist sie unproblematischer. Es gibt nur einen kleinen Haken an atoi, der mich stört:







#include <iostream>

#include <cstdlib>



int string_to_int(const char* p)

{

return std::atoi(p);

}



int main()

{

char* a = "0";

char* b = "asdf";

int i = string_to_int(a);

int j = string_to_int(b);

std::cout << i << ' ' << j;

}



Ausgabe:

0 0





Mit einem Stringstream hat man das Problem nicht:





#include <sstream>



int string_to_int(const char* p)

{

std::istringstream str(p);

int i;

str >> i;

if(!str.good())

throw std::runtime_error("conversion from string to int failed");

return i;

}







Natürlich kann man das zu einem Template verallgemeinern wie es in der boost Library getan wurde.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: