字符串转二进制字符串 C语言
时间: 2023-09-15 20:21:56 浏览: 58
可以使用C语言中的位运算来将字符串转换为二进制字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 将字符转换为二进制字符串
void charToBinary(char c, char *binary) {
int i, j;
for (i = 7, j = 0; i >= 0; i--, j++) {
binary[j] = ((c & (1 << i)) ? '1' : '0');
}
binary[j] = '\0';
}
// 将字符串转换为二进制字符串
char* stringToBinary(char *str) {
int len = strlen(str);
char *binary = malloc(len * 8 + 1);
int i;
for (i = 0; i < len; i++) {
charToBinary(str[i], binary + i * 8);
}
return binary;
}
int main() {
char *str = "Hello World!";
char *binary = stringToBinary(str);
printf("%s\n", binary);
free(binary);
return 0;
}
```
在上面的代码中,`charToBinary` 函数将一个字符转换为一个8位的二进制字符串,并将结果存储在给定的字符数组中。`stringToBinary` 函数将一个字符串转换为一个二进制字符串,它使用 `charToBinary` 函数来将每个字符转换为二进制。在主函数中,我们将字符串 "Hello World!" 转换为一个二进制字符串并将其打印出来。最后,我们需要释放 `binary` 的内存。