要清楚,我不是指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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)