c - 将 0x00 打印到标准输出

标签 c binary

我有一个 C 程序。下面复制骨架

#include <stdio.h>
#include <string.h>
int main()
{
    char arr[5] = {0x01,0x02,0x03,0x00,0x04};
    printf("\n%d \n",strlen(arr));
    printf("%s", arr);
    return 0;
}

char 数组中的值 0x00 按预期被视为输入结尾 (NULL),输出为 3个 输出到 0x03

但是我的要求是将整个数组打印到标准输出。谁能告诉我该怎么做?

谢谢

最佳答案

有多种方法:您可以使用 putchar例如,在一个循环中,或者你可以只使用 fwrite :

fwrite(arr, 1, sizeof(arr), stdout);

关于c - 将 0x00 打印到标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653253/

相关文章:

c - printf 的 h 和 hh 修饰符的用途是什么?

java - 如何接收十六进制的套接字输入?

c - 将结构数组写入 C 中的二进制文件

javascript - 将javascript值转换为二进制以放入mysql中

c# - 将二进制字符串转换为十六进制

c - 这个 C 函数是如何工作的?

c - fork() 内的 fork() 内的 while 循环

c - 如何在结构中正确使用 fgets?

CRC算法实现

c++ - 二进制字符串向后打印