【发布时间】:2011-01-12 23:05:19
【问题描述】:
我有一个简单的函数,可以将变量“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 到全局声明在 google 上可以找到的所有内容,而不是将值传递给函数。
感谢任何帮助。我对C完全陌生,只是想写一个简单的小工具......它花费的时间比它应该的要长。
【问题讨论】:
-
您应该告诉我们更多关于
getCurrentMacAddress将其数据存储在哪种数据结构中。要在C 中比较字符串,您需要strcmp。比较运算符是==,而不是=,顺便说一句,global应该是char *。也许你应该给我们看一些真实的代码! :-) -
很抱歉——我在提出一般性问题时倾向于使用伪代码。我真的必须阻止它。
标签: c string variables char printf