stdstring相关内容
尝试创建constexprstd::string和std::vector对象时遇到奇怪的编译器错误: #include #include int main() { constexpr std::string cs{ "hello" }; constexpr std::vector cv{ 1, 2, 3 }; return 0;
..
我最近learned成员函数可以ref-qualified,这允许我写 struct S { S& operator=(S const&) & // can only be used if the implicit object is an lvalue { return *this; } }; S operator+(S const &, S co
..
我想读取并删除txt文件中的第一行(不复制,它是一个很大的文件)。 我看过网络,但每个人都只是把想要的内容复制到一个新文件中。我不能那样做。 以下是第一次尝试。此代码将被隐藏在循环中,因为没有删除任何行。如果代码将在每次打开时删除文件的第一行,则代码将到达末尾。 #include #include #include #inc
..
按照https://stackoverflow.com/a/11311786/890753中的@Evaned,我创建了一个gdb命令newstr来创建一个新的std::字符串并将其放入一个gdb便利变量: define newstr set ($arg0)=(std::string*)malloc(sizeof(std::string)) call ($arg0)->basic_string
..
对于你们中的一些人来说,这可能是一个简单的问题.但我想知道 std::string 是否是一个容器.容器是指容器,例如 std::vector、std::list 和 std::deque. 由于 std::basic_string 接受整数字符以外的其他类型,但也正在通过使用字符数组进行优化.我不清楚它属于哪个类别. 这将编译: #include #includ
..
我正在尝试将 std::strings 放入 boost::lockfree::queues 中,以便我的线程可以使用新数据相互更新. 当我尝试使用 boost::lockfree::queue更新数据;,g++ 说: 在 'class boost::lockfree::queue >' 的实例化中: 错误:静态断言失败:(boost::has_triv
..
我们每个人(可能)都有儿时写作的梦想: switch(my_std_string) {案例“foo":do_stuff();休息;case "bar": do_other_stuff();休息;默认值:just_give_up();} 但这是不可能的,正如过去(2009 年)对这个问题的回答中所解释的那样: 为什么switch语句不能应用于字符串? 从那时起,我们见证了 C++11
..
我正在使用一个用 C++ 实现的开源 UNIX 工具,我需要更改一些代码来让它做我想做的事情.我想做最小的改变,希望我的补丁在上游被接受.可在标准 C++ 中实现且不会创建更多外部依赖项的解决方案是首选. 这是我的问题.我有一个 C++ 类——我们称之为“A"——它目前使用 fprintf() 将其高度格式化的数据结构打印到文件指针.在它的打印函数中,它还递归地调用了几个成员类的相同定义的打
..
我有一些不同长度的数字(如 1、999、76492 等),我想将它们全部转换为具有共同长度的字符串(例如,如果长度为 6,那么这些字符串将是:“000001"、“000999"、“076492"). 换句话说,我需要在数字中添加正确数量的前导零. int n = 999;字符串 str = some_function(n,6);//str = '000999' C++中有这样的函数吗?
..
问题:我有一个整数;这个整数需要转换为 stl::string 类型. 过去,我使用 stringstream 进行转换,这有点麻烦.我知道 C 方法是执行 sprintf,但我更愿意执行类型安全的 C++ 方法. 有没有更好的方法来做到这一点? 这是我过去使用的字符串流方法: std::string intToString(int i){std::stringstream s
..
int i = 4;字符串文本 = "播放器";cout 我想打印 Player 4. 以上显然是错误的,但它显示了我在这里尝试做的事情.有没有一种简单的方法可以做到这一点,还是我必须开始添加新的包含? 解决方案 使用C++11,你可以这样写: #include //使用 std::string、std::to_string() 和 "+" 运算符作用于字符串诠
..
我想知道是否有 itoa() 的替代方法可以将整数转换为字符串,因为当我在 Visual Studio 中运行它时会收到警告,并且当我尝试在Linux,我得到一个编译错误. 解决方案 在 C++11 中你可以使用 std::to_string: #include std::string s = std::to_string(5); 如果您使用的是 C++11 之前的版本
..
我正在尝试将我的代码从使用 MFC 的 CString 移植到 Microsoft Windows 平台的 std::string.我对某事感到好奇.在下面的例子中说: CString MakeLowerString(LPCTSTR pStr){CString strLower = pStr ?pStr : L"";CharLower(strLower.GetBuffer());//使用WinA
..
在 MFC 中使用 C++.来自 C# 背景,我通常只对所有字符串使用字符串.我将它们用于类成员、方法参数和方法返回值. 现在在 C++ 中,我有 std::string、CString、char *、LPCTSTR 等等.当我设计我的数据成员、方法参数和方法返回值时,我应该使用哪种类型?易用性很重要,CString 似乎提供了这一点,但我的直觉是倾向于可移植标准,尽管可移植性在我的优先级列
..
CString 非常方便,而 std::string 更兼容 STL 容器.我正在使用 hash_map.但是, hash_map 不支持 CString 作为键,所以我想将 CString 转换为 std::string. 编写 CString 哈希函数似乎需要很多时间. CString ----->标准::字符串 我该怎么做? std::string ----->字符串:内联 CS
..
我一直在尝试调试我的应用程序崩溃(即断言* 检测到 glibc * free(): invalid pointer: 0x000000000070f0c0 ***) 而我正在尝试对字符串进行简单的分配.请注意,我正在使用 gcc 4.2.4 的 linux 系统上编译,优化级别设置为 -O2.使用 -O0,应用程序不再崩溃. 例如 std::string abc;abc = "testSt
..
我必须用 std::string 格式化="http://en.cppreference.com/w/cpp/io/c/fprintf">sprintf 并将其发送到文件流中.我该怎么做? 解决方案 你不能直接这样做,因为你没有对底层缓冲区的写访问权(直到 C++11;参见 Dietrich Epp 的 评论).您必须先在 c-string 中执行此操作,然后将其复制到 std::stri
..
为 std::string 创建 end(str)+1 的迭代器是否有效? 如果不是,为什么不是? 这个问题仅限于 C++11 及更高版本,因为在 C++11 之前,数据已经存储在一个连续块中 以这种方式存储. 我认为这可能会有所不同. std::string 与我推测的任何其他标准容器之间的显着区别在于,它总是包含比其 size 多一个元素,即零终止符,满足.c_str()的要求
..
我今天已经搜索了几个小时,但找不到任何适合我的东西.我刚刚看过的一个,没有运气,是“如何将 UTF-8 编码的 std::string 转换为 UTF-16 std::string". 我的问题是,简要说明: 我想在 std C++ 中创建一个有效的 NTLM 哈希,并且我正在使用 OpenSSL 的库来使用其 MD4 例程创建哈希.我知道怎么做,那么有谁知道如何将 std::stri
..
我想从 std::vector 构建一个 std::string. 我可以使用 std::stringsteam,但想象有一种更短的方法: std::string string_from_vector(const std::vector &pieces) {std::stringstream ss;for(std::vector::const_iterator i
..