0
我有兩個表示SSID的二進制數據緩衝區。 SSID不是字符串,可以做一些事情,比如中間有一個空字符。我想字典順序排序的SSID列表:C++中二進制數據(具有不同長度)的字典順序
\0\0\0\0
AccessPointA
AccessPointB
AccessPointB\0
ZZZZ
我已經有這只是需要一個<0, 0, >0
結果進行比較(因此,如果它是一個字符串,它可以使用strcmp
)的框架。
但是,由於兩個SSID不一定是相同的長度,所以我不能直接使用memcpy
,而且我也不希望必須分配緩衝區並使用空值填充兩者。
有沒有一種有效的方法來按字典順序比較兩個任意長度的緩衝區?
[std :: lexicographical_compare](http://www.cplusplus.com/reference/algorithm/lexicographical_compare/)? – 2014-09-19 10:31:58