生成代码的的缩进?

JackLam 2009-05-22 12:51:57
我写了个生成代码的的缩进,但是在缩进到后面的时候就发现他缩进了多个,也就是到最后一步的缩进有问题!
大家帮帮忙,看那里出错了!!或者有什么更好的方法实现缩进的功能!比如说像VC++里面的遇到GOTO就放在前面,能智能点的!!!!

char alignText[128];
unsigned long alignsize = 0;

void asp_xml_spacein_write(char *ca_buf/*代码数据*/, unsigned long *size, int level)
{
char tempBuf[128];
memset(tempBuf, 0, 128);
if(alignsize == 0 || ca_buf == NULL)
{
alignText[alignsize++] = '\t';
atx_file_write(asp_xml_fd, &alignText[0], alignsize);
}
else
{

if(level)
{
memcpy(tempBuf, &alignText[0], alignsize);
*size += sprintf(ca_buf + *size, "%s", tempBuf);
}
else
{
alignText[alignsize++] = '\t';
memcpy(tempBuf, &alignText[0], alignsize);
*size += sprintf(ca_buf + *size, "%s", tempBuf);
}

}
}
void asp_xml_spaceout_write(char *ca_buf, unsigned long *size, int level)
{
char tempBuf[128];
memset(tempBuf, 0, 128);
if(alignsize - 1 == 0 || ca_buf == NULL)
{
atx_file_write(asp_xml_fd, &alignText[0], alignsize);
alignText[--alignsize] = NULL;
}
else
{
if(level)
{
memcpy(tempBuf, &alignText[0], alignsize);
*size += sprintf(ca_buf + *size, "%s", tempBuf);
}
else
{
memcpy(tempBuf, &alignText[0], alignsize);
*size += sprintf(ca_buf + *size, "%s", tempBuf);
alignText[--alignsize] = NULL;
}



}

}
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
surlover 2009-05-22
  • 打赏
  • 举报
回复
直接看太累了,最好给个可以debug的
liliangbao 2009-05-22
  • 打赏
  • 举报
回复
up

65,210

社区成员

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

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