我是 c 新手,正在尝试套接字编程。我有一个关于指针的问题。
假设我有这样的设置:
int main() {
... // some code
int numbytes = receive(i);
}
int receive(int num) {
... // some code
msgLength = ... // some code
char msgWithLength[4 + msgLength];
int n = getMsg(clientSocket, msgWithLength, 4 + msgLength);
char * msg = unpack(msgWithLength, 4);
return n;
}
char * unpack(char *msgWithHeader, int headerSize) {
char *msg = ... // some code to remove header from msgWithHeader
return msg;
}
我想要的是在 main.js 中访问 msg。我不想receive返回msg,我希望它返回一个int。另外,主要是,我不知道味精的大小。
理想情况下,我会有类似的东西
int main() {
char * msg;
int numbytes = receive(i, msg);
// And be able to access msg here
}
但这不起作用。我想我的问题与指针和引用传递有关。关于如何让它发挥作用的任何想法?