c-str相关内容
我读过几个地方,c_str() 和 data()(在 STL 和其他实现中)的区别在于 c_str()code> 总是空终止而 data() 不是.就我在实际实现中所见,它们要么执行相同操作,要么data() 调用 c_str(). 我在这里错过了什么?在哪些场景下使用哪个更正确? 解决方案 文档是正确的.使用 c_str() 如果你想要一个空终止字符串. 如果实施者碰巧实施了
..
在我的一个程序中,我必须与一些使用 const char* 的遗留代码交互. 假设我有一个如下所示的结构: struct Foo{const char* 服务器;const char* 名称;}; 我的上层应用只处理std::string,所以想到了用std::string::c_str()来取回const char* 指针. 但是 c_str() 的生命周期是多少? 我可以
..
我正在尝试将函数与以下声明一起使用: extern int stem(struct stemmer * z,char * b,int k)1 我正在尝试向其传递C ++字符串,所以我认为我会使用 c_str()函数.它返回 const char * .当我尝试将其传递给 stem()函数时,出现以下错误: error:从'const char *'到'char *'[-fpermissive
..
在我的一个程序中,我必须与一些与 const char * 一起使用的旧代码对接. 让我们说一个结构如下: struct Foo{const char *服务器;const char *名称;}; 我的上层应用程序仅处理 std :: string ,所以我想到了使用 std :: string :: c_str()取回const char * 指针. 但是 c_str()的生
..
当尝试获取字符串结果c_str()的结果与g ++不一致时,我遇到了一个奇怪的问题. 有一个称为Test的函数可返回字符串实例.我想使用char*类型存储结果(需要).如您所见,该函数很简单,返回一个字符串"resultstring".但是当我尝试获得结果时,发生了一些奇怪的事情. 在第二部分中,我得到的结果是“".第一部分和第三部分都返回“结果字符串".在Visual Studio中
..
在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中区分
..
我为什么要通过 std::string::c_str() ?当然,这里有一些解决标准的方法... 解决方案 c_str()保证NUL终止. data()没有.
..
我有这个用strstream编写的代码块.然后将其转换为sstream,如下所示.我不确定,但是我认为printStream->str()返回的是一个字符串对象,该对象带有printStream所指向的流缓冲区中的内容的副本(临时),然后您在其上调用c_str()并得到一个const char *,然后放弃常量性,然后将指针返回到函数作用域之外.我认为由于您是从printStream->str()
..
我正在尝试编写一个写入文件的函数,但是在传递字符串作为参数时遇到问题. void writeFile(string filename, string letters, int size) { ofstream outputfile("output.txt"); outputfile
..
以下是代码: string fname =“/home/jack/example.csv”; ifstream csvin(fname.c_str()); if(csvin.eof()){ do_something;我的问题是:在什么情况下 eof() } $ b 返回true。我有以下选项: 文件不存在。 文件为空。 li> 文件不存在或为空
..
我已经读过几个地方,在 c_str()和 data()实现)是 c_str()始终为null终止,而 data()不是。 就我在实际实现中看到的,他们做相同的或 data()调用 c_str()。 我在这里缺少什么? 在哪些情况下更适合使用哪一个? 解决方案 文档是正确的。如果您需要,请使用 c_str() 一个空的终止字符串。 如果实现者发现实现 c_str()在 dat
..
这是从一个小库,我在网上找到: 为const char * GetHandStateBrief(常量PostFlopState *状态) { 静态的std :: ostringstream出来; // ...函数的其余部分... 返回out.str()。c_str() } 在我的code我这样做:为const char * D = GetHandStateBrief(安培
..