C语言中 char str[20]; memset(str, 0, sizeof(str)); str[0] = 0xe4; str[1] = 0x6; str[2] = 0x0; str[3] = 0x52; str[4] = 0x17; str[5] = 0x56; str[6] = 0xd0; str[7] = 0x30; 求解一下,像这种如何输入到文件里面, 转字符串的话到0x0就截断了
时间: 2023-06-15 12:03:53 浏览: 50
如果要将这个字符数组写入文件中,可以使用文件操作函数,例如使用 fopen() 函数打开文件,然后使用 fwrite() 函数向文件中写入数据。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[20];
memset(str, 0, sizeof(str));
str[0] = 0xe4;
str[1] = 0x6;
str[2] = 0x0;
str[3] = 0x52;
str[4] = 0x17;
str[5] = 0x56;
str[6] = 0xd0;
str[7] = 0x30;
FILE *fp = fopen("data.bin", "wb");
fwrite(str, sizeof(char), sizeof(str), fp);
fclose(fp);
return 0;
}
```
在上面的示例代码中,我们将字符数组 str 写入了一个名为 data.bin 的二进制文件中,使用了 fwrite() 函数,该函数的第一个参数是要写入的数据的指针,第二个参数是每个元素的大小(这里是 char 类型,所以是 sizeof(char)),第三个参数是要写入的元素个数(这里是 sizeof(str))。最后使用 fclose() 函数关闭文件。
如果要读取二进制文件中的数据,可以使用 fread() 函数,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[20];
memset(str, 0, sizeof(str));
FILE *fp = fopen("data.bin", "rb");
fread(str, sizeof(char), sizeof(str), fp);
fclose(fp);
printf("%s\n", str);
return 0;
}
```
在上面的示例代码中,我们从 data.bin 二进制文件中读取数据到字符数组 str 中,使用了 fread() 函数,该函数的第一个参数是要读取数据的指针,第二个参数是每个元素的大小(这里是 char 类型,所以是 sizeof(char)),第三个参数是要读取的元素个数(这里是 sizeof(str))。最后使用 fclose() 函数关闭文件。注意,由于 str 中含有 0x00 字符,所以在 printf() 函数中输出时会被认为是字符串结束符,因此只会输出前面的部分,后面的部分被截断了。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)