问题标签 [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.

0 投票
2 回答
192 浏览

string - 使用 C 风格的字符串调用 C 函数

我正在努力打电话给mktempD:

但我不知道如何使用它,所以 DMD 抱怨:

如何创建可变的以零结尾的 C 样式字符串?

我想我在某处读过字符串文字 (constimmutable) 可以隐式转换为零 (null) 终止的字符串。

0 投票
2 回答
1673 浏览

c++ - istream::getline() 中的 \0 字符

如果文件\0在使用时包含字符会发生什么istream::getline()?它会被省略还是仍然分配到字符串缓冲区中的字段中?

0 投票
5 回答
196 浏览

c++ - 在不同的 PC 上打印 '\0' 时结果不同?

对于以下代码,在我的 PC 上,char\0总是会产生一个空格(使用 打印时cout)。但是,在我朋友的 PC 上, char 的结果\0总是会导致 char a。代码和截图如下:

在此处输入图像描述 在此处输入图像描述

:在我的电脑上。 :在我朋友的电脑上。

这里发生了什么?为什么不同PC上的结果不同?

PS

  1. exe即使我们共享相同的可执行文件(即在我的 PC 上编译并在两台 PC 上运行),结果仍然会有所不同。

  2. 我们都使用具有相同项目字符集的 Visual Studio 2010。

  3. 这里可能有一些缓冲区溢出,但请注意我总是会得到一段space时间,我的朋友总是会得到一个 char a

  4. 如果我们都这样做,它具有相同的功能cout<<ends

0 投票
1 回答
200 浏览

c - 通过 AS 的 incbin 指令包含的字符串上的 NULL 终止符

我在可执行文件中包含的文件中有一些大型字符串资源。我使用以下内容将它们包含在可执行文件中。*.S允许 GCC 调用以生成目标文件而as无需任何特殊处理。

我在包含字符串之后添加了一个.byte 0以确保字符串NULL终止。这使我可以ca_conf用作 Cconst char*{ca_conf,ca_conf_size}C++ 字符串。

汇编器或链接器是否会重新排列事物以使NULL终止符与其终止的字符串分开?还是汇编器和链接器总是将它们保持在一起?

0 投票
1 回答
4176 浏览

assembly - MIPS 检测空终止字符的问题

一点背景故事:这是一个应用程序,旨在获取一个字符串,并为每个字符添加一个键 (1-26) 到 ascii 值并将其放回字符串中。唯一的问题是我的结束字符也总是被操纵,即使我的程序设计为以空字符(beqz)终止。

示例->

输入留言:超开心

输入密钥:5

加密消息:xzujw mfuud]

谁能发现这段代码会操纵最后一个字符并将其更改为结束括号的原因?谢谢。

0 投票
3 回答
665 浏览

c - C 打印整个字符串变量(忽略 \0 终止)

一个例子说了一千多个单词:

如何打印整个hello-variable 的内容(printf("%s",..)只尊重\0-termination 之前的部分,而不是所有STR_LEN字符)。

0 投票
2 回答
494 浏览

c++11 - 在 C++11 中以空字符结尾的字符串如何终止?

也许这是愚蠢或明显的,但我无法谷歌任何答案。什么字符以空结尾的字符串结尾C++11NULL(实际上是0)还是新的nullptr?一方面,nullptr应该替换NULL. 但另一方面,我不确定是否nullptr是一个角色。或者可以解释为一。

0 投票
4 回答
1228 浏览

c - 超大缓冲区中的 C 字符串空终止符

笔记:

这是一个关于纯 C 的问题。没有 C++ 函数等。


问题:

假设我malloc有一个可以容纳 100 的缓冲区chars。然后,我只用实际的chars. 我听说最好的做法是将缓冲区中的所有剩余插槽清空,如下所示:

这是绝对必要的,还是我可以简单地设置buffer[5] = '\0'并保存一个循环?


语境:

有问题的代码被非常频繁地调用,缓冲区大小为 4096,并且复制到其中的 99% 的字符串要短得多,这使得上面的循环几乎每次都运行至少几千次迭代。

我不可能事先知道字符串的大小。而且因为重新分配非常昂贵,所以我最初选择了一个大的缓冲区大小。我以桌面级硬件为目标,因此内存完全不受限制。

0 投票
0 回答
255 浏览

java - 将数据传递给@JavascriptInterface 方法时,字符串在 NUL 字符处被截断

我正在通过此函数将 webview 与 javascript 连接以将数据保存到文件中

在javascript方面我有这个:

当我保存 ascii 文本时,没关系,但是每当我发送二进制数据时,如果“文本”包含一个空字符 (\0),Android 函数会在该空字符处截断接收到的参数“文本”,就像它正在接收一个空终止字符一样字符串,不是这种情况,也不是 java 或 javascript。

任何人都知道如何解决它?

0 投票
1 回答
41 浏览

string - 如何在以空字符结尾的字符串中获取空值?

假设您想读入一个可能包含 NULL 的二进制文件。您将如何使用以 NULL 结尾的语言来执行此操作?我猜你只是将它映射到一个字节数组?