抱歉,如果这是一个愚蠢的问题,但我对 C 有点缺乏经验。我正在尝试创建一个简单的 TCP 客户端/服务器连接。它是这样工作的:服务器存储多个文件,包括 .txt 和 .jpg。当客户端需要其中一个时,他将文件名发送到服务器,读取并写入到某个位置。
一切正常,除了服务器的响应是 "RES status size data " 。我只对创建新文件的数据感兴趣,但我无法拒绝将 RES状态大小写入输出文件。我尝试使用 strtok 但因为它而出现段错误,不知道为什么。这是我从服务器接收响应并开始将其写入新文件fp的代码部分。
while(success == 0)
{
while(f_block_sz = recvfrom(fd2, buffer, sizeof(buffer), 0, (struct sockaddr*)&serveraddr2, &addrlen))
{
if(f_block_sz < 0)
{
printf("Receive file error.\n");
break;
}
int write_sz = fwrite(buffer, sizeof(char), f_block_sz, fp);
if(write_sz < f_block_sz)
{
printf("File write failed.\n");
break;
}
bzero(buffer, LENGTH);
}
printf("ok!\n");
success = 1;
fclose(fp);
}
我什至不知道什么是最好的。我应该在写入新文件之前删除那些“无用”的词,还是应该在文件完成后编辑文件?
提前致谢。