【发布时间】:2014-01-04 15:36:49
【问题描述】:
我正在编写简单的服务器 - 客户端应用程序。在服务器端,我接收 char 数据数组(具有 const 大小)。但是最后一个 char 数组可以有空字节。
我将收到的数组附加到循环文件中。这是代码:
char buffer[256];
/* ... */
FILE *file;
file = fopen(file_name,"ab+");
for (i = 0; i < parts; ++i) {
if ((length = recv(sockfd, buffer, 256, 0)) < 0) {
/* recv failed */
}
send(sockfd, "OK", 2, 0);
fwrite(buffer, 1, 256, file);
}
fclose(file);
例如: ... Quisque dignissim turpis sapien,非 facilisis risus gravida 在。 \00\00\00\00
有什么方法可以跳过最后一个 \0 字符吗?还是我必须逐字节复制最后一个数组。
【问题讨论】: