c语言word转byte如何实现,给出代码示例
时间: 2024-10-18 22:05:41 浏览: 28
在C语言中,将字符串(word)转换成字节数组(通常称为`char*`或`unsigned char*`)主要是通过遍历字符串并将其每个字符复制到字节数组中。这里有一个简单的代码示例:
```c
#include <stdio.h>
#include <string.h>
void word_to_byte(const char *word, unsigned char *bytes, int max_size) {
// 检查输入是否有效
if (word == NULL || bytes == NULL || max_size <= 0) {
printf("Invalid input.\n");
return;
}
// 计算字符串长度(不包括结束符'\0')
size_t len = strlen(word);
// 如果字符串过长,截取至max_size
if (len > max_size - 1) {
len = max_size - 1; // 最多存储max_size-1个字符,因为最后一个位置需要留作NULL终止符
}
// 复制字符串内容到字节数组,同时添加结束符'\0'
for (size_t i = 0; i < len; ++i) {
bytes[i] = word[i];
}
bytes[len] = '\0'; // 结束符
}
int main() {
const char *word = "Hello, World!";
unsigned char byte_array[20]; // 假设足够大来存储字符串
word_to_byte(word, byte_array, sizeof(byte_array));
// 打印转换后的字节数组
for (unsigned char b : byte_array) {
printf("%d ", b);
}
printf("\n");
return 0;
}
```
阅读全文