字符串格式化

awjx 2007-08-03 10:31:45
怎么快速将下面的字符串格式化
22222222#0722007080300000020070803235900
格式化后
22222222,#072,2007-08-03 00:00:00,2007-08-03 23:59:00
...全文
124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jixingzhong 2007-08-03
  • 打赏
  • 举报
回复
如果还是不行,
就用之前的那个 代码比较多的那个吧 ...
jixingzhong 2007-08-03
  • 打赏
  • 举报
回复
看看 空间够不够先吧 ...

在ARM上跑就要注意空间限制了,
当然不是说要省,只是不能超了而已,
只要没有超限,
就上面的程序吧 ...

数组可以小一点:
#include <stdio.h>
#include <stdlib.h>

int main()
{
char str[] = "22222222#0722007080300000020070803235900";
char d1[9], d2[3][5], d3[10][3], result[60];


sscanf(str, "%8s%4s%4s%2s%2s%2s%2s%2s%4s%2s%2s%2s%2s%2s",
d1, d2[0], d2[1], d3[0],d3[1], d3[2], d3[3],
d3[4],d2[2], d3[5], d3[6], d3[7],d3[8], d3[9]);

sprintf(result, "%s,%s,%s-%s-%s %s:%s:%s,%s-%s-%s %s:%s:%s\n",
d1, d2[0], d2[1], d3[0],d3[1], d3[2], d3[3],
d3[4],d2[2], d3[5], d3[6], d3[7],d3[8], d3[9]);

puts(result);

return 0;
}
awjx 2007-08-03
  • 打赏
  • 举报
回复
我说的快速,其实就是代码要简一点,
空间换时间,这是在ARM板上跑的程序,不知空间优先还是时简优先?给个建议行不?
jixingzhong 2007-08-03
  • 打赏
  • 举报
回复
够快的了 ...
jixingzhong 2007-08-03
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

int main()
{
char str[] = "22222222#0722007080300000020070803235900";
char dstr[14][10], result[80];


sscanf(str, "%8s%4s%4s%2s%2s%2s%2s%2s%4s%2s%2s%2s%2s%2s",
dstr[0], dstr[1], dstr[2], dstr[3],dstr[4], dstr[5], dstr[6],
dstr[7],dstr[8], dstr[9], dstr[10], dstr[11],dstr[12], dstr[13]);

sprintf(result, "%s,%s,%s-%s-%s %s:%s:%s,%s-%s-%s %s:%s:%s\n",
dstr[0], dstr[1], dstr[2], dstr[3],dstr[4], dstr[5], dstr[6],
dstr[7],dstr[8], dstr[9], dstr[10], dstr[11],dstr[12], dstr[13]);

puts(result);

return 0;
}

那就只有空间换时间了....
taodm 2007-08-03
  • 打赏
  • 举报
回复
你关于“快速”是要多快?
awjx 2007-08-03
  • 打赏
  • 举报
回复
那是在C板块啊,这是C++
只要能解决问题,分那是次要的,因为我提问的次数不多,分还是积了一些!
lockhall 2007-08-03
  • 打赏
  • 举报
回复
怎么又发一遍?

樓主真有米啊~

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧