我正在 Linux 上用 C 语言实现一个简单的服务器/客户端。可以说,作为客户端,我想询问服务器是否有特定文件。我希望能够将我的查询发送到结构内的服务器(我更熟悉此操作的问题,但它是家庭作业)。
我的问题是,在使用结构时,我无法为文件名预先分配内存。所以形式的结构:
struct{
int operation;
char *fileName;
long fileSize;
};
对我没有帮助,因为即使我为 fileName 分配内存,它也sizeof(struct)
保持不变,(sizeof(char*)+sizeof(fileSize))
所以我无法将它发送到服务器。
希望我在这里很清楚......我的问题是如何使用 struct 向服务器发送一个未知大小的字符串。(一种选择是提前发送 fileSize,然后发送该大小的 char*,但我不想这样做)。
谢谢!