gpt4 book ai didi

c - 存储/比较传递给函数的 u_char

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

我有一个简单的函数,它将变量“var”作为 u_char 数组传递。我毫不费力地打印那个数组。

    printf("%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x", var[0], var [1], var[2], var[3], var[4], var[5]);

按照我喜欢的方式打印 mac 地址。

我这辈子都想不出存储这个 Mac 地址并将其与另一个字符串进行比较的正确方法。理想情况下,这就是我所追求的:

global OldString="00:00:00:00:00:00"

NewString=getCurrentMacAddress();

if OldString = Newstring then ignore else some_function

但是我一整天都在用头撞墙,只是试图将这个“var”输出存储为一个字符串。我试过 strcpy,我试过用 for 循环循环,我试过我在谷歌上能找到的所有东西,从 malloc 到全局声明,而不是将值传递给函数。

感谢任何帮助。我是 C 的新手,只是想写一个简单的小工具……它花费的时间比应该的要长。

最佳答案

snprintf() 将使用与您已经在使用的 printf() 调用相同的格式字符串和参数。

char NewString[] = "00:00:00:00:00:00";  // initializing with this string is just a lazy
// way to get the right amount of storage

snprintf( NewString, sizeof( NewString), "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x", var[0], var [1], var[2], var[3], var[4], var[5]);

关于c - 存储/比较传递给函数的 u_char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197865/

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