我有一个客户端和一个服务器。我使用UDP。 (C/Unix)
在服务器中我确实有一个结构:
typedef struct Header {
int seqid;
int len;
char payload[100];
}
...
char test[100];
struct Header package;
package.seqid = 1;
package.len = 64;
strcpy(package.payload, test);
sendto(sockfd, &package, 100, 0, (struct sockaddr*)&cliaddr, sizeof(cliaddr));
在客户端中我确实有相同的结构:
struct Header* myrepos;
...
recvfrom(sockfd, recvline, 100, 0, NULL, NULL);
//recvline is a char[100]
...
我想将提交的结构(由服务器提交)加载到“myrepos”中。 我怎样才能做到这一点?
使用
*angel = (struct Header*)&recvline;
导致编译器错误。
我不确定我的方法是否正确或者它是否会发生。 还有其他解决方案吗?
谢谢!
最佳答案
1: sendto(sockfd, &package, sizeof(struct Header), 0, (struct sockaddr*)&cliaddr, sizeof(cliaddr));
2:recvline = new char [sizeof(struct Header)];
3:myrepos = (struct Header *)recvline;
关于c - 如何将字符串加载到结构中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581408/