草庐IT

select-string

全部标签

c++ - 了解 std::string 的效率

我正在努力学习更多关于C++字符串的知识。考虑constchar*cstring="hello";std::stringstring(cstring);和std::stringstring("hello");假设在应用程序的.data部分存储“hello”,然后将字节复制到堆上的另一个区域,由std::string管理的指针可以访问它们,我是否正确?我怎样才能有效地存储一个非常非常长的字符串?我正在考虑一个从套接字流中读取数据的应用程序。我害怕连接很多次。我可以想象使用一个链表并遍历这个列表。字符串让我害怕太久了!任何链接、提示、解释和更多详细信息都将非常有帮助。

c++ - std::string 在 vi​​sual studio 上的具体行为?

我有一个项目需要读取/写入大文件。我决定使用ifstream::read()一次性将这些文件放入内存,放入std::string。(这似乎是在C++中最快的方法:http://insanecoding.blogspot.com/2011/11/how-to-read-in-file-in-c.html和http://insanecoding.blogspot.com/2011/11/reading-in-entire-file-at-once-in-c.html)当在文件之间切换时,我需要“重置”用作先前内存缓冲区的std::string(即删除char[]缓冲区以释放内存)我试过了:

c++ - 将非英文字符串存储在 std::string 中

我在std::wstring中有一个简单的字符串std::wstringtempStr=_T("F:\\Projects\\Current_자동_\\Cam.xml");我想将这个字符串存储在std::string中。我试过下面的代码,但结果与输入的字符串不一样std::wstringtempStr=_T("F:\\Projects\\Current_자동_\\Cam.xml");//setupconvertertypedefstd::codecvt_utf8_utf16convert_type;std::wstring_convertconverter;//useconverter(

『C++成长记』string使用指南

🔥博客主页:小王又困了📚系列专栏:C++🌟人之为学,不日近则日退❤️感谢大家点赞👍收藏⭐评论✍️目录一、string类介绍二、string类的常用接口说明📒2.1string类对象的常见构造📒2.2string类对象的容量操作📒2.3string类对象的访问及遍历操作📒2.4string类对象的修改操作​编辑📒2.5string类对象的查找接口📒2.6string类非成员函数🗒️前言:C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访

c++ - 从 std::string 获取类型,C++

有一次我在面试中被问到一个问题。因此我有一个函数voidf(std::string),我调用一个函数作为这个f("int")。因此我的函数必须在其主体中创建一个本地intx。有没有办法从constchar*获取类型。我知道boost::mpl::vector确实解决了这类问题。谁能告诉我技术? 最佳答案 如果应该支持用户定义的类型,那么不提供显式映射是不可能的。但是对于内置类型,它是可以做到的。您可以为类型定义实现一个解析器,并将其与函数模板结合起来,以迭代方式构造类型。像这样:templatevoidparseType(std::

c++ - 从最多 X 个字符构造 std::string,在空字符处停止

我正在从文件中的结构中读取字符串,其中每个字符串都有固定长度,并带有'\0'填充。如果存储的字符串需要整个长度,它们不会以零结尾。我目前正在用这样的方式构造std::string://charMyString[1000];std::stringstdmystring(MyString,ARRAYSIZE(MyString));但是,这也会复制填充。我现在可以修剪字符串,但是是否有一种优雅而快速的方法来首先防止复制?速度比空间更重要,因为这是循环运行。 最佳答案 简单的解决方案是:先计算出正确的长度按照Dieter的建议使用strnl

c++ - 强制 String to int 函数消耗整个字符串

给定一个应该代表数字的字符串,我想将它放入一个转换函数中,如果整个字符串没有转换,该函数将提供通知。对于输入:“12”:istringstream::operator>>输出12atoi输出12stoi输出12对于输入"1X"我想要一个失败响应,但我得到:istringstream::operator>>输出1atoi输出1stoi输出1对于输入"X2":istringstream::operator>>输出0并设置错误标志atoi输出0stoi抛出错误[LiveExample]有没有办法在输入"1X"时引发错误行为? 最佳答案 编

【Linux C | I/O模型】IO复用 | select、pselect函数详解(看完就会用了)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭🤣本文内容🤣:🍭介绍select函数🍭😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭⏰发布时间⏰:2024-02-0117:19:49本文未经允许,不得转发!!!目录🎄一、概述🎄二、select函数介绍🎄三、select函数使用步骤🎄四、select函数使用例子🎄五、pselect函数及例子🎄六、总结🎄一、概述在Unix/Linux系统中,有五种IO模型:阻塞I/O模型、非阻塞I/O模型、复用式I/O模型、信号驱动式I/O模型、

Element Plus的el-tree-select组件,懒加载 + 数据回显

目录一、背景说明二、使用1.dom2.methods三、回显一、背景说明技术:Vue3+ElementPlus需求:在选择组织机构时以树结构下拉展示。用到组件:TreeSelect树形选择组件(el-tree-select)官网文档地址:https://element-plus.gitee.io/zh-CN/component/tree-select.htmlhttps://element-plus.gitee.io/zh-CN/component/tree.html简要说明:el-tree-select组件是el-tree和el-select的结合体,他们的原始属性未被更改,故具体属性、方法

c++ - 避免在 std::map/std::unordered_map 中使用 std::string 键查找临时对象

这个问题在这里已经有了答案:Avoidingkeyconstructionforstd::map::find()(4个答案)关闭8年前。考虑以下代码:std::mapm1;autoi=m1.find("foo");constchar*key=...autoj=m1.find(key);这将为每次map查找创建一个临时的std::string对象。避免它的规范方法是什么?