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 символов точно. Кто-нибудь может объяснить, почему это происходит?