我看到了很多例子,但没有一个解决我想要完成的事情 . 我需要从套接字读取字节并将它们写入文件 . 在这个Code Project blog中,我看到客户端脚本中的while循环遍历读取调用:
while((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0)
所以我修改了代码 fputs(recvBuff, f1)
,其中 f1
是指向pdf文件的指针 . pdf文件也是一个文件,我可以让fwrite工作 . 我最后修改我的代码,使其类似于一些示例来测试它,但无济于事 .
如果在fwrite中,第一个参数是'data',我将如何传递它?我已经在上面的while循环中尝试了read()调用,但它似乎返回一个整数而不是字节流 . 有任何想法吗?
我是编程的新手,但我是C的新手,并希望在正确的方向上有所推动 . 谢谢 .
1 回答
你想要更像这样的东西 .
fwrite
不返回流,它返回成功写入的项目数(即第3个参数) . 在这种情况下,"item"是一个字符,您正在尝试编写"bytesRead"个数字 . 良好的形式要求您应该检查结果fread
返回的结果是否与您写入的请求相同但是这很少在磁盘文件上失败,因此很多人在非关键情况下跳过它 . 您可能想要自己添加 .