在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>
头文件。