C语言中的新文件,试图通过fread
读取文件以下是文件的内容:
line1 how
使用的代码:
char c[6];
fread(c,1,5,f1)
输出var'c'时,内容在末尾显示随机字符(例如:line1 *)
fread不会终止字符串,还是我错过了什么?
答案 0 :(得分:11)
没有。 fread
函数只读取了许多元素,它没有“字符串”的概念。
fgets
/ fscanf
代替就个人而言,我会选择fgets
。
答案 1 :(得分:2)
man page for fread没有说明在文件末尾添加终止零。
如果你想要安全,将c数组中的所有字节初始化为零(通过bzero或类似的东西),当你读入时,你将有一个终止空值。
我已将fread
和bzero
的两个手册页链接起来,我希望能帮到你。
答案 2 :(得分:1)