read () возвращает дополнительные символы из файла

Я пытаюсь прочитать текст из файла для печати .. При попытке указать размер буфера char он возвращает дополнительный символ ..

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(){

    int fd = open("text.txt",O_RDONLY);

    char cbuffer[100];
    int a =0;
    if(fd>0){
        puts("File open");
        ssize_t len = read(fd,cbuffer,sizeof(cbuffer));
        a =printf("%s",&cbuffer);
        printf("\n return data count  %d",a);
    }

    return 0;

}

Если вместо

ssize_t len = read(fd,cbuffer,sizeof(cbuffer));

К

ssize_t len = read(fd,cbuffer,10);

возвращает 10 символов точно. Кто-нибудь может объяснить, почему это происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос