为什么调用 boost::split() 会给出这么多警告?

2023-12-09

我需要一个在 dleimiter 上分割字符串的函数,并且我正在使用 boost 库来做其他事情,所以我尝试使用 boost::split。它有效,但它给了我很多警告,我想知道为什么。

以下是在 MSVC++ 10 中生成警告的简化代码:

#include <tchar.h>
#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<std::string> split_vector;
    boost::split(split_vector, "string,to,split", boost::is_any_of(","));
    for(size_t i=0;i<split_vector.size();i++)  {
        std::cout << split_vector[i] << "\n";
    }
}

大约有 100 行警告,我不知道如何在这里制作可折叠/可滚动的东西,但它们都是这样的:

c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(2227): warning C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(2212) : see declaration of 'std::_Copy_impl'
c:\program files\boost\boost_1_49_0\boost\algorithm\string\detail\classification.hpp(102) : see reference to function template instantiation '_OutIt std::copy<const char*,char*>(_InIt,_InIt,_OutIt)' being compiled
with
[
    _OutIt=char *,
    _InIt=const char *
]
c:\program files\boost\boost_1_49_0\boost\algorithm\string\classification.hpp(206) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF<CharT>::is_any_ofF<boost::iterator_range<IteratorT>>(const RangeT &)' being compiled
with
[
    CharT=char,
    IteratorT=const char *,
    RangeT=boost::iterator_range<const char *>
]
c:\users\administrator\documents\visual studio 2010\projects\cas testing\tests\tests.cpp(10) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF<CharT> boost::algorithm::is_any_of<const char[2]>(RangeT (&))' being compiled
with
[
    CharT=char,
    RangeT=const char [2]
]

等等。

有人知道发生了什么事吗?


警告的第一行告诉您一切,包括原因和如何避免它,其中包括:要禁用此警告,请使用 -D_SCL_SECURE_NO_WARNINGS。因此,转到项目属性,并将 _SCL_SECURE_NO_WARNINGS 放入预定义宏中。

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

为什么调用 boost::split() 会给出这么多警告? 的相关文章

  • 创建文件并使用内存流保存到其中

    如何创建文件并使用内存流写入文件 我需要使用内存流来防止其他线程尝试访问该文件 我试图保存到文件的数据是 html 如何才能做到这一点 假设您的意思是如何将文件的内容复制到内存流 如果您使用的是框架4 var memoryStream ne
  • 为什么我需要显式编写“auto”关键字?

    我正在从 C 98 转向 C 11 并且已经熟悉了auto关键词 我想知道为什么我们需要明确声明auto编译器是否能够自动推导类型 我知道 C 是一种强类型语言 这是一条规则 但如果不显式声明变量就不可能实现相同的结果auto 放弃显式的a
  • 忽略父进程中的信号

    我正在尝试实现一个 shell 程序 我希望 shell 程序忽略 SIG INT ctrl c 但在我的程序中 子进程也会忽略 SIG INT 信号 但它不应该这样做 因为 exec 应该将子进程带到另一个程序 并且该程序默认情况下应该处
  • C++ 中的反向迭代器和负跨步迭代器,在开始之前使用一个作为哨兵

    In 查看 C 反向迭代器的另一种方式 https devblogs microsoft com oldnewthing 20211112 00 p 105908雷蒙德 陈写道 C 语言的一个怪癖 你可以拥有一个指针 集合的 已过终点 但不
  • FxCop 和 GAC 疯狂

    当我尝试分析依赖于模式和实践 企业库数据 以及其他 2 0 0 0 的项目时使用 FxCop FxCop 抱怨它不能 定位程序集引用 即使正在分析的应用程序 dll 是根据其编译的此版本及其在 GAC 中 如果我浏览到 GAC 尝试选择相同
  • std::istringstream >> 使奇怪的行为加倍

    下面的代码打印0在 mac osx 上使用 clang 其他地方都会打印5 clang https ideone com mVgpzS gcc https ideone com oZ0hy6 include
  • 使用标准范围连接带有分隔符的字符串范围

    我想使用范围将跨度中包含的四个字节转换为字符串 这是输入和输出的示例 std span
  • 隐式转换和编译器的不同行为

    Motivated by this question https stackoverflow com q 51972738 5800831 I created the following code struct X X int struct
  • Magento SOAP V2 API - 附加属性设置为空

    几个小时以来 我一直在尝试通过 SOAP V2 API 创建具有附加属性的产品 每当我打电话时就会添加该产品目录产品创建但我随请求发送的附加属性被设置为空 每当我不添加附加属性时 这两个属性都会设置为其默认值 因此我认为这些属性正在发送和接
  • 如何检查我的程序是否有数据通过管道传输到其中

    我正在编写一个应该通过标准输入读取输入的程序 所以我有以下结构 FILE fp stdin 但是 如果用户没有将任何内容通过管道传输到程序中 这就会挂起 我如何检查用户是否确实将数据通过管道传输到我的程序中 例如 gunzip c file
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • ld: 无法对非 PE 输出文件执行 PE 操作错误

    我是操作系统编程的新手 我正在读一本书 其中给出了一个简单的内核示例 如下所示 main char video memory 0xb8000 video memory X 为了编译这个名为 kernel c 的文件 我在 Windows 7
  • 是否有普遍接受的 GMP 替代方案来实现任意精度? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在寻找 BigInt 库的过程中 我发现了这篇文章 Microsoft Windows 上的 C 或
  • 使用智能指针在大型对象集合中创建多个索引

    我正在为一个大型对象集合创建多个索引 即使用不同的键 对象可以改变 集合可以缩小和增长 到目前为止我的想法 保留某种指向对象的指针的多个集合 使用set代替map以获得更好的封装 使用 unordered set 可以很好地扩展大型数据集
  • 我的 C 程序无法运行,并显示“无法执行二进制文件:Exec 格式错误”

    我刚刚从 C 开始 我试图编译下面的代码并执行它 但出现错误 也在运行sizeBS 或数据堆栈中没有显示任何内容 include
  • 编写一个转储屏幕像素的 RDP 客户端

    我想在中实现 RDP 客户端C 它能够获取屏幕所有像素的颜色值并将它们转储到文件中 我知道这在概念上与 RDP 的工作方式不同 但我的应用程序需要它 我正在尝试利用freerdp https github com FreeRDP FreeR
  • 即使没有任何转换,也违反了 C 中的严格别名?

    How can i and u i在此代码中打印不同的数字 即使i定义为int i u i 我只能假设我在这里触发了 UB 但我不知道具体是如何触发的 ideone演示 http ideone com Gcv5Xm如果我选择 C 作为语言
  • 阅读《Effective、MoreEffective 和Effective Modern C++(和 STL)》的首选顺序是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 据我所知 More effective C 是 Effective C 的扩展 而 Effective Modern C 则专注于 C 11 和
  • WPF - 将窗口置于前面

    我有一个 WPF 窗口 我没有关闭它 相反 我执行 Hide 和 Show 它 现在 当我双击记录上网格中的主窗口时 这将触发 Show 窗口 该窗口将始终显示在主窗口后面 我尝试过以下方法 但没有成功 view Show view Act
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl

随机推荐

  • 在 Java 中存储状态

    广泛讨论的问题 是否已经有任何库允许我用 Java 存储应用程序的执行状态 例如 我有一个处理文件的应用程序 现在该应用程序可能会在某个时候突然被迫关闭 我想存储有关所有文件已处理的内容和尚未处理的文件以及处理处于哪个阶段的信息正在进行的过
  • 如何确定 javascript 是否已被其他 html 文件加载

    如何确定 javascript 是否已被其他 html 文件加载 我想减少 javascript 文件的冗余加载 以减少网页的加载时间 如果您的 Web 服务器提供了正确的缓存标头 则不需要这样做 浏览器将跨多个请求缓存 javascrip
  • const char* 类型的参数与“LPCWSTR”类型的参数不兼容

    我正在尝试在 Visual Studio 2012 中用 C 语言制作一个简单的消息框 但是我得到了 以下错误信息 argument of type const char is incompatible with parameter of
  • 在 SSAS 安全性中添加新用户

    我想使用以下 XMLA 脚本在 SSAS 安全性中添加用户 DECLARE CreateUserInSsasXMLA VARCHAR MAX
  • 在 R 中使用 PCA 删除变量

    我尝试搜索此内容但找不到信息 我正在使用 10 个变量 1 个 y 变量和 9 个 x 变量 进行线性回归 所有变量都是相关的 我想看看我是否需要所有 9 个变量 如何使用 PCA 的数据来消除变量 我使用以下方法对所有 10 个变量进行了
  • 为什么 document.querySelectorAll 返回 StaticNodeList 而不是真正的 Array?

    这让我烦恼 我不能这样做document querySelectorAll map 即使在 Firefox 3 6 中 我仍然找不到答案 所以我想我应该交叉发布此博客中的问题 http blowery org 2008 08 29 yay
  • Java XML DSig 和 XPath

    我正在使用 Java XML DSig api 对 XML 文档的一部分进行签名 我试图了解它是如何达到摘要值的 我的文档是
  • 将 4 字节 IP 地址转换为标准点分十进制表示法

    如果我有一个 4 字节地址存储在 char address 4 中 内容为 address 0 x80 address 1 xAB address 2 x0A address 3 x1C all together 80 AB 0A 1C 我
  • 更改机器密钥会阻止现有用户登录

    我正在使用配置的会员提供商Web config像这样使用 SQL CE
  • 在哪里可以找到我的 Facebook 应用程序 ID 和密钥?

    在我的 Facebook 帐户中 我在哪里可以找到这些应用程序 ID 密钥等 您应该使用开发者应用程序 右侧是标题为 我的应用程序 的部分 您可以从中选择一个应用程序以查看其信息 也可以直走here同样 它会在左侧列出您的应用程序
  • 谷歌应用程序引擎(Spring Boot)使用数据存储进行本地测试给出了未经身份验证的错误

    使用数据存储在本地运行的 Google 灵活应用程序引擎 Spring Boot 项目提供了com google cloud datastore DatastoreException Unauthenticated保存实体时出现异常 tim
  • 模板 10 导航服务序列化

    我正在为我的 UWP 项目使用 Template10 在导航时传递参数时 我可以在 OnNavierated NavigationEventArgs e 处接收对象的序列化文本 这是因为在调用 Navigate 方法时 Template10
  • 如何对单列使用 apply() 函数?

    我有一个包含多列的 pandas 数据框 我想仅更改第一列的值而不影响其他列 我怎样才能做到这一点使用apply 在熊猫中 给定一个示例数据框df as a b 0 1 2 1 2 3 2 3 4 3 4 5 你想要的是 df a df a
  • 删除插入排序中的重复项

    我基本上正在处理以下问题 我试图改变插入排序 以便它也可以删除它计数器的重复项 下面是插入排序 public void insertSort for int i 1 i lt nElems i int temp a i int j i wh
  • 为什么即使我有对 DAL05.dll 的引用,SQL Server 仍无法被识别?

    似乎每当我向项目添加任何使用我的代码的内容时commonClass vb文件中 我收到有关 SQL Server 无法识别的错误 我确实有 DAL05 的参考 文件中的 SQL Server 显示它无法识别 就像DAL05 DataAcce
  • Swift 中 UIButton 的圆顶角

    我知道我可以使用以下方法将所有四个角圆化 myBtn layer cornerRadius 8 myBtn layer masksToBounds true 因为我只想第二轮 所以我做了一些研究并发现this extension UIVie
  • app.config 中的连接字符串。安全怎么样?

    将带有密码的连接字符串放在 app config 文件中真的是一件好事吗 在我看来 app config 没有以任何方式加密 密码信息可以轻松读取 我有一个应用程序可以访问目标最终用户没有身份验证的数据库 使用组用户 密码 仅当当前 Win
  • 使用 $_REQUEST[] 有什么问题?

    我在这里看到很多帖子说不要使用 REQUEST多变的 我通常不这样做 但有时很方便 它出什么问题了 从双方获取输入绝对没有问题 GET and POST以综合的方式 事实上 这就是您几乎总是想做的事情 对于通常通过 GET 提交的普通幂等请
  • 如何使用 python 读取和映射 CSV 的多行标题行

    我有一个CSV file这是从数据库下载的 因为它是 CSV 格式的 现在我必须解析为JSON 架构 别担心这个链接只是 github 要点 我面临的问题是它的多行标题检查此处为 CSV 文件 如果您在文件中注意到 在 CSV 的第一行 它
  • 为什么调用 boost::split() 会给出这么多警告?

    我需要一个在 dleimiter 上分割字符串的函数 并且我正在使用 boost 库来做其他事情 所以我尝试使用 boost split 它有效 但它给了我很多警告 我想知道为什么 以下是在 MSVC 10 中生成警告的简化代码 inclu