18,830
社区成员




文件只有18个字符,读取100后打印输出有随机字符。请帮忙看下应该如何修改。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc,char** argv)
{
printf("start app\n");
int in_fd = open("./content.txt",O_RDONLY);
if(-1 == in_fd)
{
printf("file open failed\n");
return 0;
}
//char buff[1024]={'\0'};
char buff[1024];
printf("start read");
int content = read(in_fd,buff,100);
printf("content_len=%d\n",content);
printf("%s\n",buff);
printf("end\n");
return 0;
}
输出结果为
可能原因: 文件结束符为0XFF,但是%s打印时遇到‘\0’才结束。