问题标签 [null-terminated]
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 - 字符串终止 - char c=0 vs char c='\0'
当终止一个字符串时,在我看来这在逻辑上char c=0
等同于char c='\0'
,因为“null”(ASCII 0)字节是0
,但通常人们倾向于这样做'\0'
。这纯粹是出于偏好还是应该是更好的“做法”?
什么是首选?
编辑: K&R 说:“字符常量'\0'
表示值为 0 的字符,即空字符。'\0'
通常写成而不是0
强调某些表达式的字符性质,但数值只是0
.
c++ - 如何在 C++ 中终止一个字符串
该程序删除字符串中的重复项。例如,输入"aaaa"
将只打印“a”。
我需要知道的是如何在 C++ 中终止字符串!它不是以'\0'
. 我在 stackoverflow 上阅读了一些问题,这些问题表明 c++ 中的字符串终止不使用'\0'
. 我没有找到如何终止字符串。任何人都可以帮忙吗?
c++ - 在字符串追加函数中终止无符号字符缓冲区的有效方法?
我一直在编写一个“字节缓冲区”实用程序模块——只是一组供个人在低级开发中使用的函数。
不幸的是,当我的ByteBuffer_Append(...)
函数在结尾处为空终止字符时,我的函数无法正常工作,和/或为空终止字符增加了额外的空间。尝试此操作时的一个结果是,当我调用printf()
缓冲区的数据((char*)
执行强制转换)时:我将只获得字符串的一部分,因为将找到缓冲区中的第一个空终止字符。
所以,我正在寻找的是一种在函数中合并某种空终止功能的方法,但我有点想知道什么是解决这个问题的好方法,并且可以使用指向正确的方向。
这是代码,如果有帮助的话:
非常感谢任何对此提供意见的人。
c - C字符串的空终止
是否可以说通常由编译器自动添加空终止 C 字符串?
所以在下面的例子中:
输出总是32?
谢谢。
visual-studio-2012 - VS 2012 代码分析在 commdlg.inl 中报告 C6054 警告(缺少零终止)
我工作的公司有一个字符串库,我们开始使用 Visual Studios 2012 代码分析工具。字符串库项目设置启用了代码分析,我们的规则集是 vanilla Microsoft Native Recommended Rules。当我构建项目并在代码分析窗口下查看时,它在文件的第 266 行和第 307 行有两个 C6054 警告(缺少零终止)commdlg.inl
。我试图禁止显示此消息,但我无法保存该文件,因为它是只读的。我也不想为字符串库或我们正在构建的任何其他库关闭此警告。我希望微软commdlg.inl
文件中的这些警告消失,以便我们可以专注于仅来自我们的源文件的 C6054 警告。想法/建议?
masm - 在 MASM / GetModuleFileName 中以空值终止字符串
在我的程序中,我从 Windows Api 调用 GetModuleFileName 函数。该函数告诉我正在运行的 *.exe 的路径。
根据MSDN ,在 Windows XP 机器上,字符串 (szSrc) 不是以空值结尾的。
我怎样才能终止它?
c++ - NULL 终止 c_str()?
为什么使用is_it_valid_color("yellow")
工作和输出FOUND IT
但使用is_it_valid_color(x.c_str());
不起作用?
我感觉它与以空字符结尾的字符串有关。输出在控制台中看起来相同:
.
d - 将零终止字符串转换为 D 字符串
Phobos 中是否有将零结尾字符串转换为 D 字符串的功能?
到目前为止,我只发现了相反的情况toStringz
。
我在以下代码段中需要它
我用来从用户 ID 中查找用户名。
我现在假设 UTF-8 兼容。
javascript - 使用包含 NULL 字节的字符串创建奇怪的 Date()
我知道 JavaScript 不会像 C 或 C++ 那样以 NULL 终止字符串,但我遇到了一个我无法解释的情况。
查看以下代码(在 Node.js v0.10.5 中执行):
我不确定这里发生了什么,有人可以向我解释一下吗?
有时,NULL 字节后的整数似乎定义了日期的月份,但月份并不总是对应于以下数字。
c - 试图删除 C 中 char 数组中的最后一个字符
所以我写了以下方法:
但是当我在 Eclipse 中使用以下代码对其进行测试时,我没有得到任何输出,而且我不知道为什么我的可执行文件无法运行。