问题标签 [c-str]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 字符串 c_str() 与 data()
c_str()
我已经阅读了几个地方,和data()
(在 STL 和其他实现中)之间的区别在于c_str()
它总是以空值终止,而data()
不是。据我在实际实现中所见,它们要么做同样的事情,要么data()
调用c_str()
.
我在这里想念什么?在哪些场景中使用哪个更正确?
c++ - std::string::c_str 和 std::string::data 有什么区别?
我为什么要打电话std::string::data()
过去std::string::c_str()
?当然,这里标准的疯狂有一些方法......
c++ - C++ c_str 不返回整个字符串
我已经用普通的 ifstreams 和我正在使用的当前 boost:iostream 尝试了以下代码,两者都有相同的结果。
它旨在将文件从 physfs 加载到内存中,然后将其传递给处理程序进行处理(例如图像、音频或数据)。目前,当调用 c_str 时,它只返回文件的一小部分。
迭代器循环按预期输出整个 png 文件,但 c_str 调用仅返回前几个字符 (\211PNG)。
很长一段时间以来,我一直在尝试此代码的变体,但没有成功。有任何想法吗?
gcc - 如何使 String 到 const wchar_t* 转换函数在 Windows 和 Linux 下工作
我从事为 MSVCC / Windows 编写的项目,我必须移植到 GCC / Linux。该项目有自己的字符串类,它将其数据存储在来自 Qt 的 QString 中。为了转换为 wchar_t*,最初有这种方法(适用于 Windows):
因为 unicode() 返回一个 QChar (它是 16 位长),这在 Windows 下工作,因为 wchar_t 在那里是 16 位,但现在使用 GCC wchar_t 是 32 位长,所以它不再工作了。我试图用这个来解决这个问题:
这样做的问题是,当这个函数返回时,对象不再存在,所以这也不起作用。我认为解决这个问题的唯一方法是:
- 不要使用 String::c_str() 并直接调用 .toStdString().c_str()
- 让 GCC 将 wchar_t 视为 16 位类型
可能性一对我来说意味着几个小时的不必要的工作,我不知道可能性二是否可能。我的问题是,如何最好地解决这个问题?我会很感激任何有用的建议。谢谢你。
c++ - .c_str() 怪异?无缘无故地更改数据?
我有这个简单的功能:
在该函数的第二行,我有正确的 wchar_t*。但是,当我返回时,数据会切换为垃圾数据。中间没有函数。是什么赋予了?!
c++ - 从函数返回“c_str”
这是我在网上找到的一个小型图书馆:
在我的代码中,我正在这样做:
现在,起初d
包含垃圾。然后我意识到我从函数中获取的 C 字符串在函数返回时被销毁,因为std::ostringstream
它是在堆栈上分配的。所以我补充说:
现在我可以从函数中获取我需要的文本。
我有两个问题:
我是否正确理解这一点?
后来我注意到
out
(类型std::ostringstream
)被分配了静态存储。这是否意味着该对象应该保留在内存中直到程序终止?如果是这样,那为什么不能访问字符串?
c++ - 使用 c_str() 设置 char 数组?
myvector[i]
是一个包含三个字母的字符串。为什么会出现这个错误?
c++ - std::string::c_str() 结果的生命周期是多少?
在我的一个程序中,我必须与一些适用于const char*
.
可以说我有一个看起来像这样的结构:
我的更高级别的应用程序只处理std::string
,所以我想到了使用std::string::c_str()
来获取const char*
指针。
但生命周期是c_str()
多少?
我可以在不面对未定义行为的情况下做这样的事情吗?
还是我应该立即将结果复制c_str()
到另一个地方?
谢谢你。
c++ - C/C++ 中 C_str() 函数的用途是什么
谁能告诉我 C/C++ 中 c_str() 函数的用途是什么?在什么情况下有必要使用它?
winforms - fstream 和 c_str() : c_str 不工作
我最近一直在研究一个程序,我尝试使用 System::String^ 将其用于 ofstream 文件...
我总是得到一个错误... 注意这是一个表单,所以它是一个头文件。
这是我的代码...(一部分)
我得到的错误是: