1

我正在制作一个应该采用 2 个目录路径(一进一出)的源文件。然后将指定文件从一个目录复制到另一个目录。我已经完成了代码,除非我编译它,它会打印:

警告:传递 'fread' 的参数 3 从没有强制转换的指针生成整数 [默认启用]

这是我遇到问题的部分(我认为):

if (fp_in != NULL && fp_out != NULL)
{
    char    line[BUFSIZ];

    while (fread(line, sizeof line, fp_in) != NULL)
...
4

2 回答 2

1

fread()需要 4 个参数,你只需要fgets()

检查两个原型,如果你想逐行阅读,你可以简单地使用fgets()

 while (fgets(line, sizeof line, fp_in) != NULL)
         {
         //....
         }
于 2013-10-31T16:33:26.963 回答
1

更改fread from的用法

fread(line, sizeof line, fp_in)

num_bytes = fread(line, sizeof(char), sizeof line, fp_in);

wherenum_bytes应该定义为 type size_t。保存从文件中读取的字节数(在这种情况下)。


阅读fread()

当您在需要时参考文档时,请务必阅读有关您第一次使用的库函数的文档。

于 2013-10-31T16:40:18.193 回答