首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求编一个简单的函数解决办法

2012-02-29 
求编一个简单的函数我想要做一个函数实现如下功能:输入两个字符串,一个是源字符串一个是目标字符串,为源字

求编一个简单的函数
我想要做一个函数实现如下功能:
输入两个字符串,一个是源字符串一个是目标字符串,为源字符串前面添加适当个数的字符 '0 ',使得源字符串长度达到另一个输入的整数t
函数原型:char   *fun(char   *dst,char   *src,int   t)

请各位老大帮忙!希望越简练越好!!!
谢谢!!

[解决办法]
#include <iostream>
#include <conio.h>
#include <string.h>

using namespace std;

char *z = "00000000 ";
char *fun(char *dst, const char *src, int t) // 不要修改src的话用const char *输入吧
{ return strcat(strcpy(dst,z+strlen(z)+strlen(src)-t),src); }

int main()
{
const char *s = "aabbss ";
char tmp[100];
cout < <fun(tmp,s,10) < <endl;
getch();
return 0;
}
[解决办法]
char *fun(char *dst,char *src,int t)
{
int len = strlen(src);
if (len > = t)
return src;

memset(dst, '0 ', t - len);
dst[t - len] = '\0 ';
strcat(dst, src);
return dst;
}
[解决办法]
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

char *fun(char *dst,char *src,int t);

int main(void)
{
char d[80], s[]= "test ";
fun(d, s, 10);
puts(d);

return 0;
}

char *fun(char *dst,char *src,int t)
{
memset( dst, '0 ', t); //设置 t 个 '0 '
strcpy(dst+(t-strlen(src)), src); //末尾字符使用 src 覆盖
return dst;
}

热点排行