草庐IT

LCD_write_chinese_string

全部标签

【C++干货铺】STL简述 | string类的使用指南

=========================================================================个人主页点击直达:小白不是程序媛C++系列专栏:C++干货铺代码仓库:Gitee=========================================================================目录什么是STLSTL的版本STL的六大组件STL的缺陷string类C语言中的字符串标准库中的string类string类常用的接口使用指南string类中常见的构造string类对象的访问及遍历操作string类对象的容量操

C++ 将 int 和 string 转换为 char*

这有点难,我想不通。我有一个int和一个字符串,我需要将其存储为char*,int必须是十六进制即inta=31;stringstr="anumber";我需要将两者用制表符分开放入一个char*中。输出应该是这样的:1Fanumber 最佳答案 适当包含:#include#include#include像这样:std::ostringstreamoss;oss从以下位置复制结果:oss.str().c_str()请注意c_str的结果是临时的(!)constchar*所以如果你的函数需要char*您将需要在某处分配一个可变拷贝。(

c++ - 为什么 std::string_view::data 不包含空终止符?

这段代码有未定义的行为:#include#includeusingnamespacestd::string_view_literals;voidfoo(std::string_viewmsg){std::cout原因是std::string_view可以存储非空终止字符串,并且在调用data时不包含空终止符。这真的很有限,为了让上面的代码定义行为,我必须从中构造一个std::string:std::stringstr{msg};std::cout在这种情况下,这确实使std::string_view变得不必要了,我仍然必须复制传递给foo的字符串,所以为什么不使用移动语义并更改msg到

c++ - 如何构造一个 std::string 具有可变数量的空格?

如果我有以下代码:std::stringname="Michael";std::stringspaces="";我将如何以编程方式创建spaces字符串(一个包含所有空格、长度与名称变量匹配的字符串)? 最佳答案 您可以将一个字符和一个长度传递给一个字符串,它会用给定的字符填充该长度的字符串:std::stringspaces(7,'');您可以使用std::string的.size()属性来查找您姓名的长度;结合以上内容:std::stringname="Michael";std::stringspaces(name.size()

报错:JSON parse error: Cannot deserialize value of type `long` from String “1,2“: not a valid `long` v

详细报错信息JSON parse error: Cannot deserialize value of type `long` from String "1,2": not a valid `long` value; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `long` from String "1,2": not a valid `long` value at [Source: (org.springframe

c++ - 将 std::string 解释为 char_type 的 std::vector?

我有一个template接受constvector&的函数.在所述函数中,我有vectorcbegin(),cend(),size(),和operator[].据我了解,string和vector使用连续空间,所以我想知道我是否可以以一种优雅的方式为两种数据类型重用该函数。可以std::string被重新解释为std::vector的(适当的)char_type?如果可以,限制是什么? 最佳答案 如果你只为constT&类型制作你的模板,并使用begin()、end()等,这两个函数vector和string共享,那么您的代码将适用

c++ - 使用无效套接字调用 boost::asio::write() 使我的 Blackberry 10 应用程序崩溃

这篇文章讲述了在最近的一个软件项目中遇到的一个技术问题,并让读者从这个问题的来之不易的解决方案中受益。背景在我的公司,我是使用Boostasio("ASynchronousI/O")socketframework的内部库的实现者和维护者通过套接字实现跨平台数据传输。一位同事最近向我提出以下问题:如果在文件传输操作期间粗暴地关闭Wi-Fi路由器,她的Blackberry10应用程序会在几秒钟内崩溃,该应用程序链接并使用了我的图书馆。在库中启用内置跟踪向我们展示了当库调用boost::asio::write(boost::asio::ip::tcp::socket*,boost::asio

c++ - double 到 string 到 double 的转换抛出异常

以下代码在VisualStudio2013中引发了std::out_of_range异常,我认为它不应该:#include#includeintmain(intargc,char**argv){doublemaxDbl=std::stod(std::to_string(std::numeric_limits::max()));return0;}我也用gcc4.9.2测试了代码,它没有抛出异常。该问题似乎是由转换为字符串后不准确的字符串表示引起的。在VisualStudio中std::to_string(std::numeric_limits::max())产量1797693134862

c++ - 包含 Map(具有对象值)和 Multimap(具有 std::string 值)的对象的 boost 序列化:需要什么?

请参阅下面的main()和两个非常简单的类。然后根据Boost序列化(以及显示的内容)我的问题是:1)B类是否需要定义正常的重载流插入运算符“>”?目前在我的真实代码中没有这些。2)store()和load()方法中的类A是否需要显式地遍历map和multimap容器,显式地存储/加载它们的键:值对?例如像这样的东西:voidA::store(constchar*filename){std::ofstreamofs(filename);boost::archive::text_oarchiveoa(ofs);std::map::iteratorit;BMap.size();oafirs

c++ - 在限制之间搜索 std::string

如果您知道从哪里开始和结束搜索的字符串中的开始和结束位置。例如-strings=StringStringString|S|t|r|i|n|g|S|t|r|i|n|g|S|t|r|i|n|g01234567891011121314151617如何在字符串中找到“tr”,指定开始搜索的位置在索引6处,结束搜索的位置在索引9处。我正在尝试设置一个搜索限制,这样它就不会超出它。 最佳答案 如果你真的想限制被遍历的序列的长度(大概是因为字符串比感兴趣的区域长),使用std::search并将相应的迭代器传递给字符串。