c - 函数 fread 不以\0 终止字符串

标签 c fread

C 文件新手,尝试通过 fread 读取文件

文件内容如下:

line1 how

使用的代码:

char c[6];
fread(c,1,5,f1)

输出var 'c'时,内容以随机字符出现在末尾(eg: line1*)

fread 不会终止字符串还是我遗漏了什么?

最佳答案

没有。 fread 函数只是读取一些元素,它没有“字符串”的概念。

  • 您可以自己添加 NUL 终止符
  • 您可以使用 fgets/fscanf 代替

我个人会选择 fgets

关于c - 函数 fread 不以\0 终止字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869352/

相关文章:

c++ - 在 C++ 中使用 fread 从二进制文件中读取字符串及其长度

c - 读取文件时打印随机字符

c - 这个程序中的 fread 有什么问题?

c - 循环时间调度中的时间片

c - 尝试运行 C 代码时 Eclipse 错误

c - 在c中导入矩阵

c++ - At 符号 (@) 和美元符号 ($) 在 C 或 C++ 中是否有任何特殊含义

c - 释放为 C 中的一个很长的字符串 (char*) 分配的内存?

c - 使用 C 中的结构从文件读取数据时出现错误

c++ - std::vector 调整大小与 fread 期间的保留