在 C++ 中将字符串转换为短字符串

2024-02-18

因此,我四处寻找如何将字符串转换为短整型,并发现了很多有关如何将字符串转换为整数的信息。我会留下一个问题作为对这些线程的评论,但我没有足够的声誉。所以,我想做的是将字符串转换为短字符串,因为数字永远不应该超过三或低于零,并且短字符串可以节省内存(据我所知)。

需要明确的是,我指的不是 ASCII 代码。

我想做的另一件事是检查字符串到短整型的转换是否失败,因为我将使用由用户输入组成的字符串。

我知道我可以使用 while 循环来完成此操作,但是如果有一个内置函数可以在 C++ 中执行此操作,并且与 while 循环一样高效或更高,我很想听听它。


基本上,一个std::stos由于未知原因缺少该功能,但您可以轻松地推出自己的功能。使用std::stoi转换为int,检查值short边界由例如给出std::numeric_limits<short>, throw std::range_error如果不在范围内,否则返回该值。那里。

If you already have the Boost library installed you might use boost::lexical_cast for convenience, but otherwise I would avoid it (mainly for the verbosity and library dependency, and it's also a little inefficient).

Earlier boost::lexical_cast众所周知,效率不高,我相信是因为它内部基于 stringstreams,但正如此处评论中所报告的,现代版本是比通过 stringstream 转换更快 http://www.boost.org/doc/libs/1_57_0/doc/html/boost_lexical_cast/performance.html,就此而言,比通过scanf.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中将字符串转换为短字符串 的相关文章

  • C++ 模板中的名称查找

    我有一些 C 代码 如果没有 fpermissive 选项 就无法再编译 这是我无法分享的专有代码 但我认为我已经能够提取一个简单的测试用例来演示该问题 这是 g 的输出 template eg cpp In instantiation o
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • CMake 和 Visual Studio:如何获得快速、安静的命令行构建?

    我有一个 cmake 项目 它成功地完成了我想要的一切 但我有大约 100 个文件 当我只需要重新编译一个文件时 我厌倦了每次看到生成的巨大输出 每个文件 30 行 明确地说 我正在编译cmake build 得到这个结果 我需要传递给编译
  • C++ 中的单例和抽象基类

    最近我遇到了关于实现 Singleton 但涉及抽象基类的问题 假设我们有这样的类层次结构 class IFoo it s ABC class Foo public IFoo 我们的单例类定义如下 template
  • 避免集合已修改错误

    Issue 我有以下代码 foreach var ItemA in GenericListInstanceB ItemA MethodThatCouldRemoveAnyItemInGenericListInstanceB 显然我得到一个错
  • 使用 Selenium for C# 登录 Facebook

    我一直在使用 Selenium C 框架并尝试进行 facebook 登录 但没有任何运气 这是我到目前为止得到的 基于这篇文章 使用 Selenium 测试 Facebook Connect 应用程序 https stackoverflo
  • 有没有办法使 C90 标准中的枚举无符号? (符合 MISRA-C 2004 标准)

    我正在尝试找到一种使枚举 无符号 的方法 enum x1 0 x2 x3 uint8 t x2 lt PC LINT MISRA C 2004 will complain about mixing signed and unsigned h
  • 正则表达式删除某些字符周围不需要的空格

    我正在尝试从 JavaScript 文件中删除一些不需要的空格 并在将文件发送到客户端之前使用 C 和 Regex 组合文件 我有一个JavascriptHandler处理 js 文件 效果很好 这是我用来 打包 JavaScript 的函
  • 从窗口内容截取屏幕截图(无边框)

    我正在寻找有关如何使用 C 将表单内容保存在位图中的解决方案 我已经尝试过使用 DrawToBitmap 但它捕获了所有带边框的窗口 这就是这段代码的结果 public static Bitmap TakeDialogScreenshot
  • Create CFrameWnd 给出了第一次机会异常——为什么?

    我正在尝试使用基于 CFrameWnd 的代码编写一个简单的 MFC 应用程序 该应用程序在可滚动窗口中绘制 下面的代码改编自 Prosise Programming Windows with MFC 第 2 版 第 89ff 页 当我在调
  • 简单的文档管理系统和API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用互斥锁来阻止临界区外部的执行

    我不确定我的术语是否正确 但这里是 我有一个由多个线程使用的函数来写入数据 在注释中使用伪代码来说明我想要的内容 these are initiated in the constructor int data std atomic
  • C 中什么函数可以替换字符串中的子字符串?

    给定一个 char 字符串 我想查找所有出现的子字符串并将其替换为备用字符串 我没有看到任何简单的函数可以实现这一点
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • double 类型的静态类成员的常量表达式初始值设定项

    在 C 11 和 C 14 中 为什么我需要constexpr在下面的代码片段中 class Foo static constexpr double X 0 75 而这会产生编译器错误 class Foo static const doub
  • 将小数格式化为两位或整数

    对于 10 我想要 10 而不是 10 00 对于 10 11 我想要 10 11 没有代码可以实现吗 即通过指定格式字符串类似于 0 N2 decimal num 10 11M Console WriteLine num ToString
  • 在类中使用 std::chrono::high_resolution_clock 播种 std::mt19937 的正确方法是什么?

    首先 大家好 这是我在这里提出的第一个问题 所以我希望我没有搞砸 在写这篇文章之前我用谷歌搜索了很多 我对编码 C 很陌生 我正在自学 考虑到有人告诉我 只为任何随机引擎播种一次是一个很好的做法 我在这里可能是错的 什么是正确 最佳 更有效
  • 具有多种类型的 C# 泛型类型推断

    我有以下通用方法 用于将一种类型的输入对象序列化为超类型 如下所示 public string SerialiseAs
  • 如何将 char 转换为 unsigned int?

    我有一个字符数组 它实际上用作字节数组 而不是用于存储文本 在数组中 有两个特定字节表示我需要存储到无符号 int 值中的数值 下面的代码解释了设置 char bytes bytes 2 bytes 0 0x0C For the sake

随机推荐

  • Kibana - 如何导出搜索结果

    我们最近将集中式日志记录从 Splunk 转移到 ELK 解决方案 并且我们需要导出搜索结果 有没有办法在 Kibana 4 1 中做到这一点 如果有的话 也不是很明显 Thanks 这是一个旧帖子 但我认为仍然有人仍在寻找一个好的答案 您
  • python2 与 python3 中的地图[重复]

    这个问题在这里已经有答案了 我是一个初学者 python 用户 我在 python2 7 和 python3 4 3 上运行了以下代码 import matplotlib pyplot as plt import numpy as np i
  • WPF 文本块,文本属性中的换行符

    有没有办法拥有 n在 a 中换行TextBlock
  • 如何创建文件并从 html 页面附加数据?

    我的桌面上有一个 html 文件 需要一些输入 我将如何将该输入写入计算机上的文件中 我是否必须使用另一种语言来执行此操作 即 python 或 javascript 以及我将如何执行此操作 相关说明 有什么方法可以让 javascript
  • wordpress is_home() || is_index() 可能吗?

    我在 header php 中有一个测试 看看我们是否在家显示英雄 div class inner clearfix div 但是当用户登陆index php时 英雄并没有被显示 显然没有 is index 条件 有谁知道我如何测试它的主页
  • 如何使用 Json.Net (newtonsoft) 连接两个 Json 对象[重复]

    这个问题在这里已经有答案了 我想将一些 JSON 对象连接成一个 JSON 对象 如何使用 NewtonSoft 的 JSON 包来做到这一点 Use JContainer Merge 将 JSON 对象组合在一起的逻辑相当简单 名称 值被
  • 在哪里可以找到 Perl 编程语言的形式语法?

    我知道 Perl 语法是不明确的 并且它的消歧是不平凡的 有时涉及在编译阶段执行代码 http www modernperlbooks com mt 2009 08 on parsing perl 5 html 无论如何 Perl 是否有正
  • Firestore 安全规则 - 查询集合时检查文档字段

    当查询文档集合并使用安全规则检查文档上的字段以允许读取时 我得到 Uncaught Error in onSnapshot Error Missing or insufficient permissions 我的查询 firebase fi
  • 使用反射获取 Kotlin 中带注释的函数列表

    我是 Kotlin 新手 我想做以下事情 用注释来注释一些函数 例如 可执行文件 运行时 获取带有该注解的所有函数 检查注释上的属性 如果它与条件匹配 则调用该函数 我有以下代码 annotation class Executable va
  • 使用模板时初始化数组

    假设我有课Foo 以下工作正常 class Foo public const int bar Foo bar new int 2 1 2 但是 我尝试稍微更改一下以使用模板 template
  • 在 Gulp 任务中获取相对源/目标

    假设我有一个文件 Users me app src scripts foo js 我设置了一个 gulp 任务 将该文件写入 Users me app dist scripts foo js gulp src src scripts foo
  • 将 google 字体 (fonts.googleapis.com) 添加到 CSP 标头

    我在 gitHub 页面上托管一个个人项目 并使用 cloudflare 强制执行 https 现在我想实施 CSP 政策 我尝试将元标记添加到页面的头部 但我收到以下错误 拒绝加载样式表 https fonts googleapis co
  • VB 按住按键

    我正在创建一个宏程序来记录和回放鼠标和键盘输入 录音效果很好 鼠标播放也很好 但我在播放键盘输入时遇到了麻烦 特别是在释放之前按住某个键几秒钟 这并不等同于重复按键 这是我尝试过的 技术 1 Me KeyDown Private Sub k
  • 从 ASP 脚本使用 dll 的最佳方法

    我正在编写一些 ASP 代码来服务来自公司 Intranet 上的简单 HTML 表单的请求 该代码需要从 COM dll 调用方法 我正在使用代码 myObject Server CreateObject myDLL myClass 但它
  • 简单语法:Alter Table 语句中的多个约束

    如果我有这样的声明 ALTER TABLE RecipeBox Recipe ADD CONSTRAINT AKRecipeBox Recipe Name UNIQUE NONCLUSTERED Name 如何向此语句添加另一个约束 这可能
  • 如何真正删除 VSTS / Azure-devops 上的提交

    我正在开发 VS 2017 我们有云 VSTS Azure devops 我最近提交并推送了 并意识到 8 个文件不应该在其中 之后我再次提交了一份干净的文件并推入远程 现在我可以在 VSTS 网站 portail 中看到这两个提交 问题是
  • 如何使用自定义 python 类型参数发出 PySide 信号?

    我在 PySide python Qt 程序中正确使用信号时遇到问题 我想发出一个信号 该信号采用自定义 python 类型的单个参数 这文档 http www pyside org docs pyside git newsigslot h
  • 删除行时平滑重新加载 uitableview 数据

    我试图在 uitableview 滚动到屏幕底部时重新加载它 我删除前几行并在底部添加更多行 Before新闻行被添加到 uitableview 的数据源中 我称之为 tableview reloaddata 方法 这是因为我希望表视图显示
  • 访问被拒绝:hyperledger Fabric Channel.initialize()

    我正在使用 java sdk 并在初始化通道时遇到错误 Channel mychannel fabClient getInstance newChannel Config CHANNEL NAME Orderer orderer fabCl
  • 在 C++ 中将字符串转换为短字符串

    因此 我四处寻找如何将字符串转换为短整型 并发现了很多有关如何将字符串转换为整数的信息 我会留下一个问题作为对这些线程的评论 但我没有足够的声誉 所以 我想做的是将字符串转换为短字符串 因为数字永远不应该超过三或低于零 并且短字符串可以节省