Вы назначаете массив для буфера.
В конкретном случае строки обычно символ, значение ASCII которого равно 0, оканчивает строку.
Например, если вы хотите поместить строку с надписью «Hello world» внутри строки, которую вы могли бы сделать
char buf[100] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', 0};
или
char buf[100] = "Hello world";
В любом случае, ваш код ничего не печатает, потому что вы пытаетесь напечатать строку нулевой длины, то есть пустую строку.