c语言fgets和换行符问题

图片说明
如图,我从文件中fgets一个字符串,输出结果自带一个换行符
而且不能通过图中方式赋值
求大神帮忙,应该怎么赋值
为什么会自带换行

不能这么写,你是文本文件,需要先把msid_size转换为字符串,再输出%s,否则是乱码。

并不是自带换行符,而是文件本身就有,另外msid_data是什么类型,(*msid_data)[msid_size-4]='c',这个看可以不