Linux上のCで単純なサーバー/クライアントを実装しています。クライアントとして、サーバーに特定のファイルがあるかどうかをサーバーに確認したいとします。構造体内のサーバーにクエリを送信できるようにしたい(このアクションの問題には精通しているが、宿題用である)。
私の問題は、構造体を使用するときに、ファイル名にメモリを事前に割り当てることができないことです。したがって、次の形式の構造体:
struct{
int operation;
char *fileName;
long fileSize;
};
fileNameにメモリを割り当ててもsizeof(struct)
同じまま(sizeof(char*)+sizeof(fileSize))
なので、サーバーに送信できません。
ここで明確になっていることを願っています...私の質問は、構造体を使用して、サイズが不明な文字列をサーバーに送信するにはどうすればよいかということです。(1つのオプションは、fileSizeを詳細に送信してから、そのサイズのchar *を送信することですが、私はしたくありません)。
ありがとう!