高分求救,字符串赋值给结构体

wxdcxp wxdcxp 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include <stdio.h>
#include <string.h>

typedef struct _test
{
char a[3];
char b[3];
char c[3];

}test;
//去除右边空格
int trim_right(char *str, int len)
{
while (len > 0) {
if (str[len-1] != 0x20)
break;
--len;
}
str[len] = '\0';
return len;
}

int main(void)
{
char c[20] = "12 3456 ";
char d[20] = {0};
test t = {0};

memcpy(&t,c,20);
trim_right(t.a, sizeof(t.a));
trim_right(t.b,sizeof(t.b));


sprintf((char *)d, "a: %s\r\n", t.a);
sprintf((char *)d, "%sb: %s\r\n", d, t.b);
sprintf((char *)d, "%sc: %s\r\n",d, t.c);
puts(d);

return 0;


}



比如我有一个字符串12 3456 ,如何把这个字符串赋值给结构体,使得输出的结果是
a:12
b:345
c:6

目前只能输出
a: 12
b:345
c:
因为数组b的大小是3,所以只能把空格存放到数组c里导致数组c不能输出内容。想了很多方法都无法实现,请高手帮忙解答

...全文

相关推荐

评论 25
收藏 已收藏
分享
返回顶部
wxdcxp
C语言 70,039 成员 243,237 内容