在C中将字符串转换为short

在C中将字符串转换为short,第1张

概述所以我一直在寻找如何将字符串转换为short并找到很多关于如何将字符串转换为整数的方法.我会留下一个问题作为对这些主题的评论,但我没有足够的声誉.所以,我想要做的是将字符串转换为short,因为数字应该永远不会超过三或零以下并且短路会节省内存(据我所知). 要清楚,我不是指ASCII码. 我希望能够做的另一件事是检查字符串到short的转换是否失败,因为我将使用由用户输入组成的字符串. 我知道我可 所以我一直在寻找如何将字符串转换为short并找到很多关于如何将字符串转换为整数的方法.我会留下一个问题作为对这些主题的评论,但我没有足够的声誉.所以,我想要做的是将字符串转换为short,因为数字应该永远不会超过三或零以下并且短路会节省内存(据我所知).

要清楚,我不是指ASCII码.

我希望能够做的另一件事是检查字符串到short的转换是否失败,因为我将使用由用户输入组成的字符串.

我知道我可以用while循环来做这个,但是如果有一个内置函数在C中做这个,就像while循环一样,或者更高效,我很乐意听到它.

解决方法 基本上,std :: stos函数由于未知原因而丢失,但您可以轻松地自行滚动.使用std :: stoi转换为int,检查由例如由std :: numeric_limits< short>,如果std :: range_error不在范围内,则抛出它,否则返回该值.那里.

如果你已经安装了Boost库,你可以使用boost :: lexical_cast来方便,但我会避免它(主要是因为冗长和库依赖,它也有点效率低).

早期的boost :: lexical_cast因效率不高而闻名,我相信因为它内部基于字符串流,但正如评论中所报道的那样现代版本是faster than conversion via stringstream,而不是通过scanf.

总结

以上是内存溢出为你收集整理的在C中将字符串转换为short全部内容,希望文章能够帮你解决在C中将字符串转换为short所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存