问题标签 [char]

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 投票
4 回答
50041 浏览

c - 将 char 缓冲区传递给函数并获取缓冲区的大小

我已将缓冲区大小设置为 100。我在声明缓冲区的主函数中显示缓冲区。但是,当我将缓冲区传递给函数并获取 sizeof '4' 时,我认为它应该是 100,因为这是我在 main.js 中创建的缓冲区的大小。输出:缓冲区大小:100 sizeof(缓冲区):4

0 投票
2 回答
3023 浏览

c# - Acting only on text input in a KeyPress Event

I have a key press event, and I want the combobox to handle the keypress if the input is not textual. I.E. If it is the up or down key, let the combobox handle it like it normally would, but if it's punctuation, or alphanumeric I want to act on it.

I thought Char.IsControl(e.KeyChar)) would do the trick, but it doesn't catch the arrow keys, and for a combobox, that's important.

0 投票
5 回答
1605 浏览

c++ - C++ 中的无效转换问题

我有以下片段:

这给出了无效的转换错误。

我下面的代码有什么问题?我该如何克服它。

完整代码在这里:

为什么在循环字符串时会得到无效的char转换?const char*

0 投票
6 回答
912 浏览

c - 将 char** 转换为 char* 或 char

我有一个旧程序,其中使用了一些库函数,但我没有那个库。

所以我正在使用 c++ 库编写该程序。在那个旧代码中,有一些函数是这样调用的

*string = newstrdup("这里有一些字符串");

字符串变量被声明为 char **string;

他可能在那个名为“newstrdup”的函数中做什么?我尝试了很多东西,但我不知道他在做什么......谁能帮忙

0 投票
2 回答
930 浏览

winapi - Win32:判断stdout句柄是char还是wchar流

我正在为我们的产品编写一个 win32 实用程序函数,该函数需要通过 shell 调用任意程序并记录其输出。我们通过将标准输出从子进程重定向到管道来做到这一点:

可以这样调用的程序种类繁多,其中许多不在我们的控制之下。目前我们看到一个问题,许多程序的输出在第一个字符之后似乎被截断——通常是一个确定的信号,表明 WCHAR 字符串被错误地用作 CHAR。

如何判断子进程是作为 CHAR 还是 WCHAR 写入其 stdout 管道?

0 投票
16 回答
419543 浏览

c - 清除 char 数组 c

我认为通过将第一个元素设置为 null 会清除 char 数组的全部内容。

但是,这只会将第一个元素设置为 null。

或者

而不是 use memset,我认为上面的 2 个示例应该清除所有数据。

0 投票
8 回答
2438 浏览

c# - 字符串文字和字符文字可以连接吗?

为什么name在以下 C++ 代码中行为不端?

等效代码在 Java/C# 中的行为如何?

0 投票
3 回答
6698 浏览

delphi - Delphi - 设置字符串和 PAnsiChar 以及其他字符串不显示的问题

我从 Rob Kennedy那里得到了建议,他的一个建议是,他的建议之一是使用SetString然后将其加载到显示它的 VCL 组件中,从而大大提高了我正在开发的应用程序的速度。

我正在使用 Delphi 2009,所以现在 PChar 是 Unicode,

有效,我自己将其更改为 PChar,但由于被移动的数据并不总是 Unicode,实际上它通常是 ShortString Data.... 所以他实际上给了我使用的内容:

什么都没有显示,但是我检查了调试器,并且通常以我过去一次构建 1 个字符的方式出现的文本位于变量中。

奇怪的是,这不是我今晚第一次遇到这种情况。因为我试图想出另一种方法,所以我接受了他的部分建议,而不是构建到 VCL 的 TCaption 中,而是将其构建到字符串变量中,然后复制它,但是当我发送它时,什么都没有显示。再次在调试器中,内置数据的变量...具有数据。

上述方法不起作用,但旧的慢速方法工作得很好....

我尝试将变量设为 ShortString、String 和 TCaption,但没有显示任何内容。我还发现有趣的是,当我将我的十六进制数据从同一个数组构建到 Richedit 中时,它非常快,而在文本数据的编辑中执行它非常非常慢。这就是为什么我没有费心尝试更改richedit 的代码,因为它的运行速度非常快。

编辑添加 - 我想我找到了问题,但我没有解决方案。如果我在调试器中编辑值以删除任何无法显示的内容(旧方法过去只是不显示......不会失败),那么我剩下的就会显示出来。因此,如果只是摆脱被转换为垃圾字符的字节的问题,我该如何解决呢?

我基本上从正在显示十六进制编辑器样式的 SCSI 设备传入原始数据。我最初一次添加一个字符的慢速风格成功地显示了字符串和其中没有 Unicode 特定字符的 Unicode 字符串。更快的方法即使工作也不会以一种方式显示 ShortStrings,而另一种方式不会显示不使用非 0-255 字符的 UnicodeStrings。我真的很喜欢并且可以使用速度提升,但如果这意味着牺牲读取字符串的能力......那么应用程序的意义何在?

EDIT3 - 好吧,现在我已经发现 0-31 是控制字符并且 32 及以上是有效的,我想我会尝试过滤 char 并将那些无效的替换为 . 这是我打算稍后做的事情来模拟十六进制编辑器样式。

如果有任何其他建议,我很乐意听到它们,但除此之外,我认为我可以制定一个比原始解决方案更快的解决方案,同时满足我的需要。

0 投票
14 回答
28276 浏览

c++ - 字节缓冲区应该是有符号还是无符号字符缓冲区?

字节缓冲区应该是有符号字符还是无符号字符,还是只是一个字符缓冲区?C和C++之间有什么区别吗?

谢谢。

0 投票
9 回答
3756 浏览

c++ - 如何在c ++中将内存块读取为char

您好,我有一块内存(使用 malloc() 分配),其中包含位(位字面量),我想将其读取为 char 数组,或者,更好的是,我想打印出 8 的 ASCII 值连续位的内存。

我已将他的内存分配为 char *,但我无法以比评估每个位更好的方式取出字符,将值添加到 char 并在循环中向左移动 char 的值,但我正在寻找更快的解决方案。谢谢

我现在写的是这样的:

分配:

写给内存:

直到现在我还无法恢复角色,我只能使用以下方法打印出位:

我正在尝试做的一个例子是:

input.txt 包含字符串“AAAB”

我的程序必须将“AAAB”作为“01000001010000010100000101000010”写入内存(AAAB 的 ASCII 值是 65656566 位)

然后我希望它具有将内存内容重写为文件的功能。

因此,如果内存再次包含“01000001010000010100000101000010”,它将写入输出文件“AAAB”。