C 从文件中删除第一个字

C 从文件中删除第一个字,c,tcp,tcpclient,C,Tcp,Tcpclient,如果这是一个愚蠢的问题,很抱歉,但我对C缺乏经验。我正在尝试创建一个简单的TCP客户机/服务器连接。工作原理如下:服务器存储多个文件,包括.txt和.jpg。当客户机需要其中一个文件时,他将文件名发送到服务器,并将其读写到某个位置 除了服务器的响应是RES status size数据这一事实之外,其他一切都正常工作。我只对创建新文件的数据感兴趣,但我不能拒绝将RES status size写入输出文件。我试着用strtok,但因为它我得到了一个segfault,不知道为什么。这是我从服务器接收响

如果这是一个愚蠢的问题,很抱歉,但我对C缺乏经验。我正在尝试创建一个简单的TCP客户机/服务器连接。工作原理如下:服务器存储多个文件,包括.txt和.jpg。当客户机需要其中一个文件时,他将文件名发送到服务器,并将其读写到某个位置

除了服务器的响应是RES status size数据这一事实之外,其他一切都正常工作。我只对创建新文件的数据感兴趣,但我不能拒绝将RES status size写入输出文件。我试着用strtok,但因为它我得到了一个segfault,不知道为什么。这是我从服务器接收响应并开始将其写入新文件fp的代码部分

我甚至不知道什么是最好的。我应该在写入新文件之前删除这些无用的单词,还是应该在文件完成后编辑它


提前感谢。

我不确定,但我只是想,如果您的RES状态大小是固定大小,请说“x”字节,然后在写入输出文件时,只需跳过接收到的数据的x字节

int write_sz = fwrite(buffer + x, sizeof(char), f_block_sz, fp);

我不确定这是否是好的做法,甚至不确定这是否正确,我只是想了想。

我不确定,但我只是想,如果你的RES状态大小是固定大小,比如说“x”字节,那么在写入输出文件时,只需跳过接收到的数据的x字节

int write_sz = fwrite(buffer + x, sizeof(char), f_block_sz, fp);

我不确定这是否是一个好的做法,甚至是正确的做法,我只是给出了我的想法。

嗯,很有趣。谢谢我都没想到。不幸的是,大小可以是1到23000左右。有没有办法在3号之前读到多少个字符?没错。我现在正在考虑这样做:forg=1;g++{fscanffp+7,%c,&c;ifc==''返回g;else fp++;}这可能是错误的,但我想你明白了。我想在RES ok之后开始检查字符串,当我到达一个空格时,我会有数据的开头。然后用g的值替换x。我想的对吗?如果大小是一个变量,我想你需要将接收到的缓冲区复制到另一个缓冲区,跳过所有字符直到第三个空格,然后将缓冲区写入输出文件。yap。。。据我所知,你的想法是正确的,但请稍等,有人可能会给出更好的答案。我也是c的新手。嗯,很有趣。谢谢我都没想到。不幸的是,大小可以是1到23000左右。有没有办法在3号之前读到多少个字符?没错。我现在正在考虑这样做:forg=1;g++{fscanffp+7,%c,&c;ifc==''返回g;else fp++;}这可能是错误的,但我想你明白了。我想在RES ok之后开始检查字符串,当我到达一个空格时,我会有数据的开头。然后用g的值替换x。我想的对吗?如果大小是一个变量,我想你需要将接收到的缓冲区复制到另一个缓冲区,跳过所有字符直到第三个空格,然后将缓冲区写入输出文件。yap。。。据我所知,你的想法是正确的,但请稍等,有人可能会给出更好的答案。我也是c的新手。