【问题标题】:How do I input \x format character through Windows Command Prompt? [duplicate]如何通过 Windows 命令提示符输入 \x 格式字符? [复制]
【发布时间】:2022-01-09 10:00:00
【问题描述】:

这里我执行以下内容

char* str="\x41\x41\x41\x41";
printf(str);

打印字符串应该是:AAAA

我尝试使用test.c 做同样的事情,但结果不是“AAAA”而是“\x41\x41\x41\x41”

C:\Users\hhcnb\Desktop\2021>test.exe \x41\x41\x41\x41
\x41\x41\x41\x41

这是如何发生的以及如何解决?

// test.c
#include <stdio.h>

int main(int argc ,char* argv[]) {
    printf(argv[1]);
    return 0;
}

【问题讨论】:

标签: c cmd


【解决方案1】:

“编译时间”和“运行时间”是两种不同的野兽。

如果您在字符串文字中使用反斜杠,它会通知 编译器 以下字符将以特殊方式处理。在你的情况下,它应该读取十六进制值并将它们用作字符。

但在运行时,编译器不再处于活动状态。因此,由您的命令提示符应用程序 来解释命令行上的字符。不幸的是,Window 的功能不包括此类转换(但请参阅评论中的链接问题)。所以你得到你输入的东西。

要将这样的输入解释为十六进制,您需要自己编程。有多种可能性,留给您作为练习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-12
    • 2015-01-31
    • 2018-05-05
    • 2020-10-11
    • 2017-03-12
    • 1970-01-01
    • 2022-01-10
    • 2012-03-15
    相关资源
    最近更新 更多