在C++中,要對一個整數數組進行批量的htonl
(將主機字節序轉換為網絡字節序)轉換,可以使用循環遍歷數組并對每個元素應用htonl
函數
#include<iostream>
#include <arpa/inet.h> // 在Windows上使用 #include <winsock2.h>
void batch_htonl(uint32_t* arr, size_t size) {
for (size_t i = 0; i< size; ++i) {
arr[i] = htonl(arr[i]);
}
}
int main() {
uint32_t arr[] = {1, 2, 3, 4, 5};
size_t size = sizeof(arr) / sizeof(arr[0]);
batch_htonl(arr, size);
for (size_t i = 0; i< size; ++i) {
std::cout << "Converted: "<< arr[i]<< std::endl;
}
return 0;
}
這個示例中,batch_htonl
函數接收一個無符號32位整數指針arr
和數組大小size
。然后,它遍歷數組并使用htonl
將每個元素從主機字節序轉換為網絡字節序。請注意,在Windows系統上,需要包含<winsock2.h>
頭文件。