#include <stdio.h>
int main()
{
int i = 0;
char stuffing[44];
for(i = 0; i <= 40; i+=4)
{
*(int *)&stuffing[i] = 0x4004f8;
}
puts(stuffing);
}
上面的内容一旦到达
0x00
就会终止,如何输出stuffing
中的所有内容? 最佳答案
您要使用fwrite
输出任意二进制数据:
fwrite(stuffing, 1, sizeof(stuffing), stdout);
puts
函数写入C字符串,并且C字符串以'\0'
(AKA 0x00)终止。更新:在其他地方的注释中,您说您希望“
gets
读取ASCII字符”。首先,永远不要使用gets
,甚至不要提及它的名称。其次,如果您只想使用ASCII字符,那么为什么可以这样做,将所有原始字节塞入char
缓冲区的麻烦就解决了:printf("%d\n%d\n%d\n%d\n", 0x4004f8, 0x4004f8, 0x4004f8, 0x4004f8);
还是类似的直截了当?
关于c - 如何将任意内容输出到stdout?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5691948/