Выпяченная иностранка используя буферы

Он тестировал вещи с буферами и осведомлялся о, почему у следующей программы есть этот такой редкий вывод:

#include <stdio.h>

int main(void)
{
    FILE* fp;
    char mybuffer[512];

    setvbuf(stdout, mybuffer, _IOLBF, 512);
    printf("hola\n");

    return 0;
}

Программа это показывает на экране:"‡òšv".

но напечатай "hola" если я использую fflush(stdout) или fclose(stdout). Хотя: он не был бы должен буфер переворачиваться в вывод автоматически, когда он находит '\n' или когда программа заканчивается?.

Использовать способ _IOFBF также дай равные результаты. Только _IONBF кажется, печатай хорошо "hola". Кроме того, я получаю сходные результаты в текстовом файле.

Я не думаю, что это подает меня я много, но одинокий он дает мне любопытство. Он надеялся бы, что он ничего не печатает, но напечатай эти случайные символы

Я составил эту программу используя gcc в терминале

5
задан 15.07.2017, 23:52
0 ответов