c-str相关内容

字符串 c_str() 与 data()

我读过几个地方,c_str() 和 data()(在 STL 和其他实现中)的区别在于 c_str()code> 总是空终止而 data() 不是.就我在实际实现中所见,它们要么执行相同操作,要么data() 调用 c_str(). 我在这里错过了什么?在哪些场景下使用哪个更正确? 解决方案 文档是正确的.使用 c_str() 如果你想要一个空终止字符串. 如果实施者碰巧实施了 ..
发布时间:2022-01-07 10:59:34 C/C++开发

std::string::c_str() 结果的生命周期是多少?

在我的一个程序中,我必须与一些使用 const char* 的遗留代码交互. 假设我有一个如下所示的结构: struct Foo{const char* 服务器;const char* 名称;}; 我的上层应用只处理std::string,所以想到了用std::string::c_str()来取回const char* 指针. 但是 c_str() 的生命周期是多少? 我可以 ..
发布时间:2021-12-05 15:02:22 C/C++开发

将c_str()存储为char *

我正在尝试将函数与以下声明一起使用: extern int stem(struct stemmer * z,char * b,int k)1 我正在尝试向其传递C ++字符串,所以我认为我会使用 c_str()函数.它返回 const char * .当我尝试将其传递给 stem()函数时,出现以下错误: error:从'const char *'到'char *'[-fpermissive ..
发布时间:2021-04-24 19:14:11 C/C++开发

VC ++函数字符串:: c_str():第一个字节的地址设置为0(与g ++比较)

当尝试获取字符串结果c_str()的结果与g ++不一致时,我遇到了一个奇怪的问题. 有一个称为Test的函数可返回字符串实例.我想使用char*类型存储结果(需要).如您所见,该函数很简单,返回一个字符串"resultstring".但是当我尝试获得结果时,发生了一些奇怪的事情. 在第二部分中,我得到的结果是“".第一部分和第三部分都返回“结果字符串".在Visual Studio中 ..
发布时间:2020-07-20 20:02:04 C/C++开发

返回类型时c_str()vs.data()

在C ++ 11之后,我想到了c_str()和data() 等同地. C ++ 17为后者引入了一个重载,该重载返回了一个非恒定指针(const CharT* data() const; (1) CharT* data(); (2) (since C++17) c_str() 只会返回常量指针: const CharT* c_str() const; 为什么在C ++ 17中区分 ..
发布时间:2020-07-20 20:02:02 C/C++开发

关于c_str()将strstream转换为sstream冲突

我有这个用strstream编写的代码块.然后将其转换为sstream,如下所示.我不确定,但是我认为printStream->str()返回的是一个字符串对象,该对象带有printStream所指向的流缓冲区中的内容的副本(临时),然后您在其上调用c_str()并得到一个const char *,然后放弃常量性,然后将指针返回到函数作用域之外.我认为由于您是从printStream->str() ..
发布时间:2020-07-20 20:01:54 C/C++开发

eof()返回什么?

以下是代码: string fname =“/home/jack/example.csv”; ifstream csvin(fname.c_str()); if(csvin.eof()){ do_something;我的问题是:在什么情况下 eof() } $ b 返回true。我有以下选项: 文件不存在。 文件为空。 li> 文件不存在或为空 ..
发布时间:2016-10-29 23:16:20 C/C++开发

string c_str()vs. data()

我已经读过几个地方,在 c_str()和 data()实现)是 c_str()始终为null终止,而 data()不是。 就我在实际实现中看到的,他们做相同的或 data()调用 c_str()。 我在这里缺少什么? 在哪些情况下更适合使用哪一个? 解决方案 文档是正确的。如果您需要,请使用 c_str() 一个空的终止字符串。 如果实现者发现实现 c_str()在 dat ..
发布时间:2016-10-11 22:55:12 C/C++开发

从函数返回“c_str”

这是从一个小库,我在网上找到: 为const char * GetHandStateBrief(常量PostFlopState *状态) { 静态的std :: ostringstream出来; // ...函数的其余部分... 返回out.str()。c_str() } 在我的code我这样做:为const char * D = GetHandStateBrief(安培 ..
发布时间:2016-08-17 23:28:06 C/C++开发