stdstring相关内容

是否可以使用std :: basic_string来实现具有长度限制的字符串?

我正在使用一个低级API接受 char * 和数字值来分别表示一个字符串及其长度。我的代码使用 std :: basic_string 并调用这些方法与适当的翻译。不幸的是,许多这些方法接受不同大小的字符串长度(即max( unsigned char ),max( short ) ,etc ...),我坚持写代码,以确保我的字符串实例不超过低级API规定的最大长度。 通过默认情况下, std ..
发布时间:2016-10-14 10:39:05 C/C++开发

C ++:如何获取fprintf结果作为std :: string w / o sprintf

我正在使用一个在C ++中实现的开源UNIX工具,我需要更改一些代码来让它做我想要的。我想做最小的可能的变化,希望我的补丁接受上游。首选可在标准C ++中实现并且不创建更多外部依赖性的解决方案。 这是我的问题。我有一个C ++类 - 让我们称之为“A” - 目前使用fprintf()打印其格式严重的数据结构到文件指针。在它的打印函数中,它也递归地调用几个成员类的相同定义的打印函数(“B”是一 ..
发布时间:2016-10-13 12:11:34 服务器开发

什么是STL字符特性的要点?

我注意到,在我的SGI STL参考的副本中,有一个关于字符特征的页面,但我不能看到这些是如何使用的?它们是否替换string.h函数?它们似乎不被 std :: string 使用,例如。在 std :: string 上的 length()方法不使用字符特征 length()方法。为什么字符特征存在,它们是否在实践中使用? 解决方案 字符特征是流和字符串中非常重要的组成部分因为它们允许流 ..
发布时间:2016-10-13 11:56:24 C/C++开发

在C ++中填充stl字符串

我使用 std :: string ,需要将它们左移到给定的宽度。在C ++中推荐的方法是什么? 输入示例: 123 填入10个字符。 示例输出: 123 (7个空格,123之前) 解决方案 std :: setw(setwidth)manipulator std :: cout ..
发布时间:2016-10-13 11:21:02 C/C++开发

直接从std :: istream读入std :: string

有没有反正读取已知数量的字节,直接到std :: string,而不创建一个临时缓冲区这样做? 例如, do it by boost :: uint16_t len; is.read((char *)& len,2); char * tmpStr = new char [len]; is.read(tmpStr,len); std :: string str(tmpS ..
发布时间:2016-10-13 11:14:28 C/C++开发

将char *转换为std :: string

我需要使用 std :: string 来存储由 fgets()检索的数据。为此,我需要将 fgets()char * 输出转换为 std :: string 。如何做到这一点? 解决方案 std :: string 构造函数为: const char * s =“Hello,World! std :: string str(s); 只要确保您的 char * ..
发布时间:2016-10-13 10:52:30 C/C++开发

是std :: string size()a O(1)操作吗?

是std :: string size()a O(1)操作吗? 我使用的STL的实现是在VC ++中构建的 解决方案 如果你问MSVC的string :: stize()的实现是否有复杂性,那么答案是肯定的。但是 Don Wakefield 提到了C ++标准23.1中的表65,说, size()的复杂性应该遵循'Note A'中的说法。注意A说: 标记为“'(注释A)'的条目 ..
发布时间:2016-10-13 10:38:03 C/C++开发

c ++ integer-> std :: string转换。简单功能?

问题:我有一个整数;此整数需要转换为stl :: string类型。 在过去,我使用 stringstream 进行转换,这只是一种繁琐。我知道C方法是做一个 sprintf ,但我宁愿做一个类型安全(er)的C ++方法。 有更好的方法吗? 以下是我过去使用的stringstream方法: std :: string intToString(int i) { std ..
发布时间:2016-10-13 10:05:11 C/C++开发

std :: string :: c_str()和临时

以下C ++代码格式正确: void consumer(char const * p) { std :: printf(“%s”,p); } std :: string random_string_generator() { //返回一个随机的std :: string对象 } consumer(random_string_generator()。c_str()) ..
发布时间:2016-10-11 23:09:00 C/C++开发

为什么std :: fstream类不带std :: string?

这不是一个设计问题,真的,虽然它可能看起来像。 (好吧,好吧,这是一个设计问题)。我想知道的是为什么C ++ std :: fstream 类不采取 std :: string 它们的构造函数或开放方法。每个人都喜欢代码示例,因此: #include #include int main() { ..
发布时间:2016-10-11 22:57:55 C/C++开发

如何将C ++字符串转换为int?

可能重复: 如何将C ++字符串转换为int? 假设你期望字符串中有实际数字例如,“1”,“345”,“38944”)。 此外,假设你没有boost,你真的想做C ++方式,而不是重要的旧C方式。 解决方案 #include>结果; ..
发布时间:2016-10-11 21:36:20 C/C++开发

如何构造一个带有嵌入式null的std :: string?

如果我想构造一个带有如下行的std :: string: std :: string my_string \0b“); 我想在结果字符串(a,null,b)中有三个字符,得到一个。正确的语法是什么? 解决方案 问题是 std :: string 构造函数,它接受一个 const char * 假设输入是一个C字符串。 C字符串 \0 终止,因此解析在到达 \0 字 ..
发布时间:2016-10-11 21:27:54 C/C++开发