c写一个字符串转char型数组的程序
时间: 2023-10-18 15:16:34 浏览: 46
以下是一个将字符串转换为char型数组的C程序示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "Hello, world!"; // 声明字符串
char char_array[strlen(string) + 1]; // 声明char型数组
strcpy(char_array, string); // 将字符串复制到char型数组中
printf("String: %s\n", string);
printf("Char Array: %s\n", char_array);
return 0;
}
```
运行结果:
```
String: Hello, world!
Char Array: Hello, world!
```
该程序使用了标准库函数`strcpy()`将字符串复制到char型数组中。需要注意的是,为了确保char型数组足够大,需要在声明时将其长度设置为字符串长度加1(用于存储字符串结尾的`\0`)。
相关问题
用C语言实现一个字符串转16进制数组的函数模块
以下是一个用C语言实现的字符串转16进制数组的函数模块示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void str2hex(char *str, unsigned char *hex)
{
int len = strlen(str);
int i = 0, j = 0;
while (i < len)
{
char c = str[i];
if (c >= '0' && c <= '9')
hex[j] = c - '0';
else if (c >= 'a' && c <= 'f')
hex[j] = c - 'a' + 10;
else if (c >= 'A' && c <= 'F')
hex[j] = c - 'A' + 10;
else
hex[j] = 0;
i++;
c = str[i];
if (c >= '0' && c <= '9')
hex[j] = (hex[j] << 4) | (c - '0');
else if (c >= 'a' && c <= 'f')
hex[j] = (hex[j] << 4) | (c - 'a' + 10);
else if (c >= 'A' && c <= 'F')
hex[j] = (hex[j] << 4) | (c - 'A' + 10);
else
hex[j] = (hex[j] << 4);
i++;
j++;
}
}
int main()
{
char str[] = "48656C6C6F20576F726C64";
unsigned char hex[12];
str2hex(str, hex);
printf("Hex array: ");
for (int i = 0; i < 6; i++)
printf("%02X ", hex[i]);
printf("\n");
return 0;
}
```
上述示例中,`str2hex`函数接收一个字符串指针和一个无符号字符数组指针作为参数,将字符串转换为16进制数组。函数通过遍历字符串中的字符并将其转换为对应的16进制值来实现转换。最终的16进制数组存储在传递给函数的无符号字符数组中。
在示例程序的`main`函数中,我们将一个十六进制字符串传递给`str2hex`函数,并打印转换后的16进制数组。输出结果如下:
```
Hex array: 48 65 6C 6C 6F 20
```
C语言将一个字符型数组写入到一个文件中
可以使用标准库函数`fwrite()`将字符型数组写入到文件中。具体实现如下:
```c
#include <stdio.h>
int main() {
char str[] = "Hello, world!";
FILE *fp;
fp = fopen("output.txt", "w"); // 打开文件,以写入方式打开
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
fwrite(str, sizeof(char), sizeof(str), fp); // 将字符型数组写入文件中
fclose(fp); // 关闭文件
return 0;
}
```
在上面的代码中,首先定义了一个字符型数组`str`,然后使用`fopen()`函数打开一个名为`output.txt`的文件,并以写入方式打开。如果文件打开失败,则输出错误信息并退出程序。接着,使用`fwrite()`函数将`str`数组写入到文件中,`sizeof(char)`表示每个元素占用的字节数,`sizeof(str)`表示数组的长度。最后,使用`fclose()`函数关闭文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)