【发布时间】:2023-12-31 10:59:01
【问题描述】:
情况:我有一个 C 程序,它接受一个字符串参数并对其进行处理(细节无关紧要。)我想向它传递一个包含控制字符的字符串,例如 EOF、CR 或 LF,并且无法在终端中将我的键盘切换到原始输入模式。我的问题是:C 是否有任何功能可以让我以某种方式指示或“键入”字符? (例如,在某些语言中创建字符串时,您可以用斜杠转义字符或指示其十六进制代码。我想知道在从终端内向 C 程序传递参数方面是否存在类似的情况 - 所以我在问命令行参数。)
【问题讨论】:
-
通常有热键(Ctrl+D = EOF 等)检查您的终端应用程序是否有合适的热键。或者,如果您的意思是在 C 字符串中传递实际字符,您可以使用它的文字(“\r”、“\n”等)将其输入到 c 字符串中。
-
我的意思是命令行参数。热键的问题在于,除非我处于原始模式,否则它们不会输入字符。例如,Ctrl+D 实际上会退出我所在的任何程序。
-
如果您需要许多这样的控制字符,那么这些可能不是处理程序中事物的最佳方式。
-
是的...不过,我仍然想回答我的问题。 :)
-
不幸的是,一些控制字符就是这样工作的,因为它们是非标准的(“\n”与“\r\n”)
标签: c command-line-arguments control-characters