c语言字节转字符数组写成函数
时间: 2023-09-22 09:07:45 浏览: 93
将字节转换为字符数组的代码可以封装成一个函数,方便多次使用。以下是一个将 byte 数组转换为 char 数组的函数:
```c
#include <stdio.h>
#include <stdlib.h>
void byteToChar(unsigned char *bytes, int len, char *chars) {
for(int i = 0; i < len; i++) {
chars[i] = (char) bytes[i];
}
chars[len] = '\0';
}
int main() {
unsigned char bytes[] = {0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64};
int len = sizeof(bytes) / sizeof(unsigned char);
char chars[len + 1];
byteToChar(bytes, len, chars);
printf("%s\n", chars);
return 0;
}
```
在这个例子中,我们定义了一个名为 `byteToChar` 的函数,它接受三个参数:一个指向 byte 数组的指针、byte 数组的长度和一个指向 char 数组的指针。函数内部的实现与之前的代码类似,将每个 byte 转换为 char 并存储到 chars 数组中。最后,我们在 `main` 函数中调用该函数,并将转换后的结果存储到 `chars` 数组中。
需要注意的是,在调用 `byteToChar` 函数时,我们需要提供一个指向 char 数组的指针作为第三个参数。这个 char 数组必须在函数调用之前被分配好内存,以便在函数内部存储转换后的结果。
阅读全文