怎样把结构体对齐的内容赋给以字符串

二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
//将字符串转化为M2M_HEADint M2M_HEAD_parser(char *str, M2M_HEAD **pHead); { if (str == NULL || pHead == NULL)
return -1; *pHead = (M2M_HEAD *)malloc(sizeof(M2M_HEAD)); if (*pHead == NULL)
return -2; memset(*pHead, 0, sizeof(M2M_HEAD)); sscanf(str, "size=%d, cmdid=%d, seqid=%d, versionnum=%d, SecurityID=%c, ReserveWord=%c, terminalID=%d"
, &((*pHead)-&size), &((*pHead)-&cmdid), &((*pHead)-&seqid), &((*pHead)-&versionnum),&
&((*pHead)-&SecurityID), &((*pHead)-&ReserveWord), &((*pHead)-&terminalID)); return 0;}//将M2M_HEAD转化为字符串 int MWM_HEAD_to_str(char **dest, M2M_HEAD *pHead); { unsigned int size = 0; if (dest == NULL || pHead == NULL)
return -1; size = 128 + 5 * sizeof(int) + 2 *sizeof(char); *dest = (char *)malloc(size); if (*dest == NULL)
return -2; memset(*dest, 0, size); _snprintf(*dest, size,&
"size=%d, cmdid=%d, seqid=%d, versionnum=%d, SecurityID=%c, ReserveWord=%c, terminalID=%d"
, pHead-&size, pHead-&cmdid, pHead-&seqid, pHead-&versionnum,&
pHead-&SecurityID, pHead-&ReserveWord, pHead-&terminalID); return 0;}
阅读(1294)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'结构体字符串的转换',
blogAbstract:'//将字符串转化为M2M_HEADint M2M_HEAD_parser(char *str, M2M_HEAD **pHead); { if (str == NULL || pHead == NULL)
return -1; *pHead = (M2M_HEAD *)malloc(sizeof(M2M_HEAD)); if (*pHead == NULL)
return -2; memset(*pHead, 0, sizeof(M2M_HEAD));',
blogTag:'结构体转换,字符串转换',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:1,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}博客访问: 167124
博文数量: 28
博客积分: 1400
博客等级: 上尉
技术积分: 311
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
发布时间: 21:35:32
阅读(1706) | 评论(0) | 转发(0)
发布时间: 23:31:43
阅读(5377) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
我想问您一个问题,我对这篇文章非常感兴趣,我现在也想做一个通用的ABAP接口,接口的参数比如是一个字符串,使用SAP JCO API传过来的(就是JAVA调用ABAP的开发包)。这个字符串实际上就是一堆ABAP的代码,我想使用ABAP翻译这个字符串并且执行,你说这个可以达到嘛?总的一句话:我在JAVA端编写ABAP代码,发送代码到ABAP再由ABAP执行。可以办到嘛?我的邮箱是:,请务必回复,谢谢了!万分万分感谢啊
 |   |  
我们是SAP创新社区(SAP官方社区)中国地区,主要负责SAP中文社区的筹划与建设。
近年来,SAP受到越来越多中国企业用户的关注,有很多像您一样的朋友在学习SAP.
不知您对SAP创新社区是否有所耳闻,这是SAP官方社区,为所有SAP用户及学习者提供免费的SAP学习资料,资料形式多种多样,有文档,ppt,以及视频等,更吸引人的是,我们承诺及时提供最新的SAP学习材料,并有很多专家活跃在社区,为所有社区成员提供帮助。创新社区的网址是:
近来,我们还全新推出了SAP创新社区中文博客网站.cn/,在此,我们诚挚地邀请您能够有空来SAP创新社区中文博客网站开博(我们可以协助你迁移博客或搭建博客镜像),为SAP创新社区在中国的发展注入智慧与力量,也与活跃在SAP创新社区的 其他专注于SAP技术的成员分享您的宝贵经验与想法。
祝工作顺利!
Jilly(jilly.)
SAP Community Network
支持下,也看看我的
http://blog.chinaunix.net/u2/73279/
请登录后留言。共有 2415 人关注过本帖
标题:结构体字符串赋值问题
等 级:新手上路
帖 子:15
结帖率:33.33%
&&已结贴√
&&问题点数:20&&回复次数:13&&&
结构体字符串赋值问题
程序代码:/*很简单的一个题目,就是读入字符串,如“[expecto patronum] send a Patronus to the dementors”,
但是要把中括号内的单独保存,后面的单独保存。下面的程序自我感觉没问题,但VC下打印出来的是乱码,求大神指导。
测试用例:
[expecto patronum] send a Patronus to the dementors
[expelliarmus] the disarming charm*/
#include&stdio.h&
#include&string.h&
#include&stdlib.h&
typedef struct node
&&&&&char m[<font color=#];
&&&&&char em[<font color=#];&&&
} //定义结构体用来保存
int main()
&&& int i,c,l;
&&& char p[<font color=#],t[<font color=#],q[<font color=#];
&&& node a[<font color=#];
&&& i=<font color=#;
&&& c=<font color=#;&&&
&&& while(scanf(&%s&,p)!=EOF)
&&&&&& if(strcmp(p,&@END@&)==<font color=#)
&&&&&&&&&&&&break ;
&&&&&& else
&&&&&&&&&&&&l=strlen(p);
&&&&&&&&&&&&if(p[l-<font color=#]!=']')
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& scanf(&%s&,t);
&&&&&&&&&&&&&&& strcat(p,& &);
&&&&&&&&&&&&&&& strcat(p,t);
&&&&&&&&&&&&}
&&&&&&&&&&&&getchar();
&&&&&&&&&&&&gets(t);
&&&&&&&&//&&& memset(a[i].m,'\0',sizeof(char)*25);
&&&&&&&&&&&&strcpy(a[i].m,p);
&&&&&&&&&&&&strcpy(a[i].em,t);
&&&&&&&&&&&&i++;&&&
&&&&&&&&&&&&c++;
&&&&&&&&&&&&printf(&em=%s m=%s\n&,(a[i].em),(a[i].m));
&&& return <font color=#;
求大神帮助,这是一个的大问题的输入部分,所以必须要用结构体。
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:15
来 自:江西财经大学
等 级:友情版主
威 望:72
帖 子:3119
专家分:12106
你这个要用gets函数全部读取,再处理字符串,用scanf遇到空格就停一下、、、
[fly]存在即是合理[/fly]
等 级:新手上路
帖 子:15
正在用gets试。。。。
但这个问题到错在那,还是不知道
等 级:友情版主
威 望:158
帖 子:3739
专家分:19860
1。字符串有长度限定吗?[]中字符串长度有限定吗?其后字符串长度有限定吗?
2。“后面的单独保存”中“后面的”是指“ send a Patronus to the dementors”还是“send a Patronus to the dementors”?
3。是如果一整行为 @END@ 时结束吗?
4。是否存在例外,如
[expecto patronum send a Patronus to the dementors
test [expecto patronum] send a Patronus to the dementors
来 自:南极洲
等 级:蝙蝠侠
帖 子:299
专家分:849
要是只是想把一行字符串拆成两个的话 用gets好了 scanf一个单词一个单词的读很麻烦的
程序代码:
#include&stdio.h&
#include&string.h&
#include&stdlib.h&
typedef struct
&&& char m[<font color=#];
&&& char em[<font color=#];&&&
int main()
&&& int i=<font color=#;
&&& char p[<font color=#], *q;
&&& node a[<font color=#];
&&& while((q=gets(p)) != NULL){
&&&&&&&&while(*q++ != ']');
&&&&&&&&*q = '<font color=#';
&&&&&&&&strcpy(a[i].m, p);
&&&&&&&&strcpy(a[i].em, q+<font color=#);
&&&&&&&&printf(&line=%d, em=%s, m=%s\n&, i++, a[i].em, a[i].m);
&&& return <font color=#;
上面代码不处理任何异常格式 必须是[xxx]的开头 接空格 接字符串
人生是一场错过 愿你别蹉跎
来 自:江西财经大学
等 级:友情版主
威 望:72
帖 子:3119
专家分:12106
试了试,用scanf也可以,不提倡程序代码:#include&stdio.h&
int main()
&&& char a[<font color=#], b[<font color=#];
&&& scanf(&%*c %[^]] %*c %[^\n]&, a, b);
&&& puts(a), puts(b);
&&& return <font color=#;
[ 本帖最后由 azzbcc 于
11:38 编辑 ]
[fly]存在即是合理[/fly]
来 自:南极洲
等 级:蝙蝠侠
帖 子:299
专家分:849
楼上 格式控制符 玩的很溜啊
人生是一场错过 愿你别蹉跎
来 自:江西财经大学
等 级:友情版主
威 望:72
帖 子:3119
专家分:12106
[fly]存在即是合理[/fly]
来 自:南极洲
等 级:蝙蝠侠
帖 子:299
专家分:849
楼主 你的代码错在两个地方
1. 你想在读到以 ] 结束的字符前 把读到的字符都存到p里面 那么你应该用while循环 不应该用if
&&&把if换成while之后 注意在循环体内更新变量 l
2. i++ c++的语句应该在printf之后使用 否则你输出的就是i++之后的 那个还没有赋值 当然会输出乱码
要是用scanf的话 你就用7楼的方法吧 程序可以很简洁 但格式必须完全匹配 用gets的话 你可以加入一些错误处理
不好理解的话 百度一下%的高级用法
http://anthonyciomp./.html
人生是一场错过 愿你别蹉跎
版权所有,并保留所有权利。
Powered by , Processed in 0.027608 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved字符串向结构体赋值怎么赋啊?
[问题点数:20分]
字符串向结构体赋值怎么赋啊?
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年2月 C/C++大版内专家分月排行榜第二2013年4月 C/C++大版内专家分月排行榜第二2013年3月 C/C++大版内专家分月排行榜第二2012年12月 C/C++大版内专家分月排行榜第二2012年11月 C/C++大版内专家分月排行榜第二2012年8月 C/C++大版内专家分月排行榜第二
2014年12月 C/C++大版内专家分月排行榜第三2014年5月 C/C++大版内专家分月排行榜第三2014年3月 C/C++大版内专家分月排行榜第三2013年12月 C/C++大版内专家分月排行榜第三2013年10月 C/C++大版内专家分月排行榜第三2013年9月 C/C++大版内专家分月排行榜第三2013年7月 C/C++大版内专家分月排行榜第三2013年5月 C/C++大版内专家分月排行榜第三2013年2月 C/C++大版内专家分月排行榜第三2013年1月 C/C++大版内专家分月排行榜第三2012年9月 C/C++大版内专家分月排行榜第三
2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2013年12月 C/C++大版内专家分月排行榜第二2013年12月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 C/C++大版内专家分月排行榜第二2013年10月 C/C++大版内专家分月排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2016年2月 C/C++大版内专家分月排行榜第三2016年1月 C/C++大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 结构体对齐 的文章

 

随机推荐