-1

1.我有一个C编程任务。这是示例文件。

21:05:56:22:67:00          56
21:05:56:22:67:00          54
21:05:56:22:67:00          89

MAC地址左边一列,右边一列是内存。如何将该文件转换为 1 个数据(将相同的 MAC 地址转换为 1 个字符串并将所有内存添加到同一 MAC 地址中?所以,结果将是:

21:05:56:22:67:00          199

2. 如何简化(或修整)MAC 地址?因为它包含 6 个字节,我只想让它成为 3 个字节(21:05:56)。

4

1 回答 1

1

如果您知道不同的 MAC 是少数,那么您可以将它们存储在带有 MAC(字符串或长长由您决定)和计数器的结构向量中。然后查找将是一个微不足道的线性查找。

如果您知道这些可能是一个非常大的数字,那么您需要一种数据库。如果你有一个真实的,那么它又是微不足道的。如果你还没有,那么我认为哈希表会变魔术。

为了修剪 MAC,我会将它们转换为无符号整数(3 个字节是 0 到 16+M 之间的数字)。如果你想坚持使用字符串,strnicmp()是你的朋友。

于 2013-09-12T06:45:03.840 回答