- 论坛徽章:
- 0
|
原帖由 xltao 于 2006-6-8 09:33 发表
搞不懂楼主client.c中的得文件名的这几句话怎么解释:
while((k=read(s,file,sizeof(file)))<=0/*接收文件名*/
if((target=open(file,o_WRONLY|O_CREAT|O_TRUNC,0644))<0){
perro ...
服务器每次接受一个连结,然后,先发送文件名,再循环发送文件内容,直道发送完,最后关闭连接。所以
- while((k=read(s,file,sizeof(file)))<=0
复制代码
是在尝试读取文件名,这里少了个分号吧?我想应该改为
- while((k=read(s,file,sizeof(file)))<=0;
复制代码
读不到文件名誓不罢休,呵呵,
当读到文件名后(while循环退出),就执行后面的创建文件操作;
这样写就好理解了:
- while((k=read(s,file,sizeof(file))<=0)
- {
- ;
- }
- if(....)
复制代码
[ 本帖最后由 duanjigang 于 2006-6-8 13:30 编辑 ] |
|