您的位置:首页 > 其它

给某字符串补齐长度为16的整数倍

2015-08-03 15:51 477 查看
如题,上代码

#include <string.h>
#include <stdlib.h>

char *t = (char *)malloc(1000);
char *buf = (char *)malloc(1020);

char * fill_string(char *str)
{
	int flag = 0;
	char *s8 = "8";
	int n = strlen(str);
	if(n % 16)
	{
		strcpy(t, str);   //然后把str复制进去
		strcat(t, s8);   //再把s8添加到后面
		str = t;  //最后再赋值给str
        n = (n / 16 + 1) * 16;
        flag = 1;
	}
    memset(buf, '0', n + 1);
    buf
 = 0;
    strcpy(buf, str);
    if (flag)
	{
		buf[strlen(str)] = '0';
	}
	return buf;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char *str = "abcdef123456123456";
	str = fill_string(str);
	printf("%s", str);
	return 0;
}
结果是
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: