我個人常常打太快,常常rm的結果就是
#rm -rf /
慘了,電腦就得從灌了
Google了一下,發現真的沒甚麼方式可以recover,但皇天不負苦心人,可以用yum reinstall~~~~^^
#rpm -qa --qf '%{name}\n' | sort -u | xargs -i yum reinstall -y --verbose {}
星期二, 6月 22, 2010
星期一, 6月 21, 2010
[C++] convert string to int or boolean
http://www.codeguru.com/forum/showthread.php?t=358996
這個link有高手寫出C++ convert string to boolean,code如下
template
bool from_string(T &Value,const std::string &str,std::ios_base & (*f)(std::ios_base&))
// converts string to streamable value, and returns true on success and false otherwise.
{
std::istringstream stream(str);
stream>>f>>Value;
return (!stream.fail()) && stream.get()==std::istringstream::traits_type::eof();
}
如果是convert string to int,可以參考這個link
http://www.codeguru.com/forum/showthread.php?t=231054
code如下
template
bool from_string(T& t,
const std::string& s,
std::ios_base& (*f)(std::ios_base&))
{
std::istringstream iss(s);
return !(iss >> f >> t).fail();
}
如果是C的部分可以用atoi, atof function
但如果是str = "0" 會搞不清楚是fail return 0 還是convert to 0,如果是大於 INT_MAX,也就是 0x7FFFFFFF,就只會回傳 0x7FFFFFFF。
還有strtol functaion,可以參考下面的link
http://linux.die.net/man/3/strtol
至於atoi and strtol的差異就是strtol當有錯誤的時候,會設置errno
但atoi不能,所以可以說strtol是atoi的加強版,請參考下面的link
http://learn.akae.cn/media/ch25s03.html
https://www.securecoding.cert.org/confluence/display/seccode/INT06-C.+Use+strtol%28%29+or+a+related+function+to+convert+a+string+token+to+an+integer
所以建議用strtol
這個link有高手寫出C++ convert string to boolean,code如下
template
bool from_string(T &Value,const std::string &str,std::ios_base & (*f)(std::ios_base&))
// converts string to streamable value, and returns true on success and false otherwise.
{
std::istringstream stream(str);
stream>>f>>Value;
return (!stream.fail()) && stream.get()==std::istringstream::traits_type::eof();
}
如果是convert string to int,可以參考這個link
http://www.codeguru.com/forum/showthread.php?t=231054
code如下
template
bool from_string(T& t,
const std::string& s,
std::ios_base& (*f)(std::ios_base&))
{
std::istringstream iss(s);
return !(iss >> f >> t).fail();
}
如果是C的部分可以用atoi, atof function
但如果是str = "0" 會搞不清楚是fail return 0 還是convert to 0,如果是大於 INT_MAX,也就是 0x7FFFFFFF,就只會回傳 0x7FFFFFFF。
還有strtol functaion,可以參考下面的link
http://linux.die.net/man/3/strtol
至於atoi and strtol的差異就是strtol當有錯誤的時候,會設置errno
但atoi不能,所以可以說strtol是atoi的加強版,請參考下面的link
http://learn.akae.cn/media/ch25s03.html
https://www.securecoding.cert.org/confluence/display/seccode/INT06-C.+Use+strtol%28%29+or+a+related+function+to+convert+a+string+token+to+an+integer
所以建議用strtol
訂閱:
文章 (Atom)