如何将非终止的char数组输出到stdout

时间:2013-11-16 19:14:49

标签: c io output

我有一个可以包含NULL字符的字符数组 该数组不是以null结尾的,但我确实知道它的长度。

问题
如何输出这个确切的数组(包括空字符)和其他任何内容(没有尾随\ n)到stdout?不幸的是,我不允许一次输出一个字符。

4 个答案:

答案 0 :(得分:5)

char buffer[SIZE];

if(fwrite(buffer, 1, SIZE, stdout) != SIZE) {
    perror("fwrite");
}

答案 1 :(得分:1)

这应该可以解决问题

size_t rt = write(STDOUT_FILENO, &yourCharArray, SIZE_OF_YOUR_ARRAY);

其中rt是实际写入字节数

答案 2 :(得分:0)

你走了:

char arr[SIZE]
fwrite(arr, sizeof(char), SIZE, stdout)

fwrite在stdio.h中

答案 3 :(得分:0)

虽然很难找到你是否是C新手,但答案结果却非常简单。

C将stdout视为文件,这意味着您只需使用fwrite即可完成此操作。

fwrite(CHAR_ARRAY, sizeof(char), NR_CHARS, stdout);