问题标签 [null-character]

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 投票
5 回答
28557 浏览

bash - 通过 Bash 循环读取空分隔的字符串

我想遍历文件列表而不关心文件名可能包含哪些字符,因此我使用由空字符分隔的列表。该代码将更好地解释事情。

以下代码在从文件中读取时有效,但我需要从包含文本的变量中读取。

0 投票
4 回答
1226 浏览

c - fgetc 空终止符

我在 K&R 做一个练习:

编写一个程序 detab,用适当数量的空格替换输入中的制表符,以留出下一个制表位。

这就是我到目前为止所拥有的(没有对文件进行错误检查):

它似乎有效,但我想知道为什么\0最后不需要。我只是幸运吗?

0 投票
1 回答
179 浏览

string - 用前导空格分隔字符串的好字符是什么?

我使用空字符 ( \0) 作为分隔符,以保持字符串在sprintf. 但是带有空字符的字符串(在这种情况下)不适用于该Curses addstr函数。
是否有一些合适的字符来代替\0这个目的?

0 投票
4 回答
5104 浏览

c++ - C++ - 字符数组和空字符

我有两个关于 char 数组的问题。

  1. 从下面的代码中,既然arrconst,为什么编译器不给我一个错误,因为我正在重写它?

    /li>
  2. 当我像这样初始化一个 char 数组时:

    如果我这样做:

    它会打印hisomething here。我以为它应该打印出来

    有 3 个空位。

    但如果我这样做:

    它将打印出 3 个空格。

第二种情况似乎证明编译器没有添加任何空字符。那么编译器如何忽略这 3 个空格呢?

0 投票
2 回答
291 浏览

vim - Vim 打开带有空字符的 Powershell 转储文件

在 Powershell 中,我运行一些命令行脚本并将其转储:

然后,我在 vim 中打开这个日志,我看到的大致是这样的:

和十六进制转储:

如何配置 vim 以正常打开此类文件,而无需每次都删除这些空值?PS记事本打开文件时不显示空值

0 投票
4 回答
24750 浏览

c++ - 在字符串中使用空字符 (C++)

我正在复习我的 C++,偶然发现了一个关于字符串、字符数组和空字符 ( '\0') 的奇怪行为。以下代码:

产生输出:

幕后发生了什么?为什么字符串文字和声明的 char 数组存储't'at 索引 6(在 internal 之后'\0'),但声明的字符串不存储?

0 投票
1 回答
5914 浏览

c - 打印一个包含空字符的字符串

我将一个带有空格的字符串作为输入,并将空格替换为 NULL 字符“\0”。当我现在打印字符串时,我只希望第一个 NULL 字符之前的第一个空格之前的部分,但我得到的是原始字符串。

这是代码-

这有什么问题?

0 投票
2 回答
2315 浏览

c++ - Char 数组在结尾之前包含空字符

我有一个类项目来用 C++ 创建一个网络服务器。一切都很顺利,直到我需要托管图像或 pdf 文件,此时文件已损坏。进行更多挖掘后,我意识到所有损坏的图像在结束之前都有空字符。

这让我想到了我的问题。我有一个 char* ,我已将这些文件读入其中,并且我知道文件的长度。我很肯定正在读取整个文件(下面的代码),但我不知道如何打印或发送它。如何告诉 C++ 我想发送 char* 之后的前 X 个字符?(我确定答案在这里或网络上的某个地方,我似乎无法以正确的方式表达我的问题以找到答案)

对于纯文本文件,这将输出正常。对于 PDF,它只打印文件的第一部分(第一个空字符之前的部分)。如何让它打印出整个文件?

编辑:澄清一下,我的最终目标是通过网络发送,而不是重新保存文件。

0 投票
0 回答
506 浏览

c++ - 输出文件中奇怪的空字符序列

我将图形写入简单的文本文件格式(邻接表)。在一个例子中,我发现生成的文件包含一排奇怪的很长的“NUL”字符。

在此处输入图像描述

这些空字符可能来自哪里?他们的意思是什么?

生成文件的代码是

对所有节点的迭代实现为:

编辑:类型node只是一个 typedefint64_t

0 投票
1 回答
249 浏览

bash - BASH/Readline 逐字空字符

我试图准确地了解 TTY、内核、线路规则和 shell 中的谁实际上处理了我输入的任何给定部分。特别是,我一直在研究这篇文章:

TTY 揭开神秘面纱

我的问题:如果我想让实际的删除字符出现在 BASH 中,我可以使用 ^V 逐字逐句。例如,我可以使用 Ctrl+V 然后 Ctrl+H 有一个退格字符。漂亮整齐!

我的问题是这样的:如果我处于以规范模式读取的内容(我相信 cat 会这样做),我可以通过执行 Ctrl+V 然后 Ctrl+2(基本上是 Ctrl+@,这是插入符号)在其中放置一个空字符对于空字符)。

但是,BASH 不允许我在其中一行包含逐字空字符,而且看起来 python 和其他 readline 程序也不会。

有人知道这是为什么,还是通用的解决方法?