C Atoi函数给我随机数
你好,我有一个函数叫做C Atoi函数给我随机数,c,C,你好,我有一个函数叫做 int SearchKey(char key[]). 我给出的关键是这样的字符串2014-02-13T23:50:00 在函数中,我只保留数字,这意味着我的字符串如下:2014021325000 在这部分之前,一切都是完美的 在我调用atoi函数之后 NewResult=atoi(result); 我的NewResult包含随机数(NewResult是int),但是当我主要完成整个过程时,我没有遇到任何问题 谢谢大家,我使用strtoll函数制作了它。来自[emp
int SearchKey(char key[]).
我给出的关键是这样的字符串2014-02-13T23:50:00
在函数中,我只保留数字,这意味着我的字符串如下:2014021325000
在这部分之前,一切都是完美的
在我调用atoi函数之后
NewResult=atoi(result);
我的NewResult包含随机数(NewResult是int),但是当我主要完成整个过程时,我没有遇到任何问题
谢谢大家,我使用strtoll函数制作了它。来自[emphasis added]:
int atoi(常量字符*str)
返回值
成功时对应于str内容的整数值如果转换后的值超出相应返回类型的范围,则返回值未定义。如果无法执行转换,0 他回来了
相反,您应该使用族函数,
strtoll()
来转换如此大的值。与atoi()
系列函数相比,它们还提供了更好的错误处理。2014021325000对于int
来说太大了。当我基本上有相同的东西时,它工作得很好。我应该试试strtoll吗?试试long-long-atol(const-char*str)代码>。。。但是strtoll提供了更好的检查功能。基本上工作正常
代码胜于雄辩。发布完整的代码,有人会发现的。“基本上是一样的,它工作得非常完美。”-->code优化了atoi()
调用。若超出范围,则结果为UB。发送一个Commnet清洁器-嘟嘟嘟嘟