【发布时间】:2020-01-24 18:20:33
【问题描述】:
我正在尝试将 printf 的输出转换为之后仅获取一个 char 数组。
my_printf("%02x:%02x:%02x:%02x:%02x:%02x", gnetif.hwaddr[0],gnetif.hwaddr[1],gnetif.hwaddr[2],gnetif.hwaddr[3],gnetif.hwaddr[4],gnetif.hwaddr[5]);
您可以在此处查看 putty 的输出:Result of output
我想将其转换为字符,然后使用 STM32 中的 sendto() 到我的计算机。例如,我有一个 python 脚本,我在其中发送“MAC”,它会回答我“Mac 地址”。
sendto(sock,/*Mycharwithmacaddress here*/,2,0,&from,fromlen);
如何轻松地将 my_printf 的输出转换为仅获取一个包含我的 mac 地址的 char 数组?
【问题讨论】:
-
不要认为我在按照您的要求进行操作,但
char只是一个字节(很可能是 8 位)......所以如果您有更多数据要发送,您将需要的不仅仅是char。 -
不清楚你在问什么......也许你需要
snprintf。 -
那……根本不是你使用
snprintf()的方式。 -
@PierreP 为什么要将 MAC 转换为
char[]字符串,而不是直接以原始二进制形式发送 MAC?sendto(sock, &gnetif.hwaddr, 6, 0, &from, fromlen);
标签: c sockets networking udp