【发布时间】:2018-11-24 09:00:06
【问题描述】:
我想知道是否有办法从 C 中的命令行读取字节(例如:\x00\x01\x02)。
例如:
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("%s", argv[1]);
return 0;
}
user@UbuntuServer: ~/Code# gcc Program.c -o Program
user@UbuntuServer: ~/Code# ./Program "\x48\x69"
Hiuser@UbuntuServer: ~/Code# ./Program "\x48\x69\x0a"
Hi
user@UbuntuServer: ~/Code#
谢谢!
【问题讨论】:
-
试试例如
printf("%02hhx\n", argv[1][0]); -
@Someprogrammerdude 看看 OPs 的输入,这不会削减它。
-
请阅读how to ask good questions,以及this question checklist。然后编辑您的问题,向我们展示您希望从您提供的“输入”中获得什么输出。
-
所有三个输入都需要...第一个输入或包含
gcc的输入正在编译,第二个显示正在将\x48\x69打印到终端,但请注意那里最后没有换行符吗?这就是第三个输入发挥作用的地方,表明通过添加0A或换行符,它也会打印一个换行符。
标签: c byte command-line-arguments