怎么用SCANF给结构体赋值啊,我赋值后只有输出了第一个

2024-12-05 01:37:29
推荐回答(3个)
回答1:

结构体不可以用scanf,strcpy,memcpy等函数赋值。
但是一般socket编程中能用到。
方式为两边定义一样的结构体(以你的结构体为例)
memcpy(buff,ps,sizeof(ps));
send(buff);
接收端可以recv(ps)直接用结构体接收。
但是还需说明一点 这样用 结构体中不可以有指针。

回答2:

scanf("%d %s %s",&num,&name,&sex);

回答3:

ps->name = (char *)malloc(sizeof(char)*256);
scanf("%d,%s,%c",&ps->num,ps->name,&ps->sex);