字符处理的问题?

chll 2005-12-30 09:07:39
我想根据输入的字符串长度,和字符,获得有相同字符组成的字符串。

如,输入:'0',5

得到结果:'00000'

应该怎么来做呢?下面是我写,但是编译有错误,请哪位大侠指教一二!!!

char * func(char * str, char * ch, int len)
{
while (strlen(str)<len) do
{
strcat(str, ch);
}

return str;
}
...全文
175 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
primercpp 2005-12-30
  • 打赏
  • 举报
回复
while (strlen(str)<len) do
{
strcat(str, ch);
}
------------
没见过while() do {}
只见过while(){}和do{}while()
jixingzhong 2005-12-30
  • 打赏
  • 举报
回复
sprintf(str,"%*c",len,ch);
JoyerHuang_悦 2005-12-30
  • 打赏
  • 举报
回复
char * func(char * str, char ch, int len){
char *bstr=str;
while(len-->0) *str++=ch;
*str='\0';
return bstr;}

char strbuf[100]; /* 注意,你必须保证传递的指针空间足够,这里只是示意 */
int main(){
printf("%s",func(strbuf,'C',50) );}
Jim_King_2000 2005-12-30
  • 打赏
  • 举报
回复
使用了memset之后还要再在末尾添加一个'\0'吧
csucdl 2005-12-30
  • 打赏
  • 举报
回复
megaboy(飞天御剑流之杀神一刀斩)
同意
gwolf 2005-12-30
  • 打赏
  • 举报
回复
char* func(char ch,int len){
char* str;
while(strlen(str)<len){
strcat(str,ch);
}
return str;
}
wuwen19 2005-12-30
  • 打赏
  • 举报
回复
char * func(char * str, char * ch, int len)
{
sprintf(str,"%*c",len,ch[0]);
return str;
}
megaboy 2005-12-30
  • 打赏
  • 举报
回复
不需要写个函数,用memset就行了:

memset(str, ch, len);

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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