读文件内容后输出随机字符

yyang0514 2024-10-11 17:01:14

文件只有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;
}

输出结果为

 

 

...全文
314 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyang0514 2024-10-12
  • 打赏
  • 举报
回复

可能原因: 文件结束符为0XFF,但是%s打印时遇到‘\0’才结束。

18,830

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧