两格字符串数组合并,第一字符结尾空格去掉?

ilove8 2006-07-25 01:58:35
两格字符串数组合并,第一字符结尾空格去掉?
该怎么写呢?
比如字符串数组1:"abc "
字符串数组2:"4321 "

结果为字符串数组"abc4321"
...全文
515 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin_style 2006-07-26
  • 打赏
  • 举报
回复
上面个位达达

“33 33”
如果是要把这种的去掉呢?
lin_style 2006-07-26
  • 打赏
  • 举报
回复
to jbmaster() ( )
“2 333”
这样的类型考虑过了吗?
哇哈哈哇哈哈 2006-07-25
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
#define MAXLINE 1000

void strcombine(char *s, char *s1, char *s2);

int main(int argc, char *argv[])
{
char str[MAXLINE];
char *str1 = "12345 ";
char *str2 = "67890";
strcombine(str, str1, str2);
printf("%s", str);
return 0;
}

void strcombine(char *s, char *s1, char *s2)
{
while ((*s = *s1) != ' ')
{
s++;
s1++;
}
*s = '\0';
strcat(s, s2);
}
bombwang 2006-07-25
  • 打赏
  • 举报
回复
不用库函数的话,直接把所有的复制过去,然后在最后加'\0'
第一个数组不用去'\0'吧
qjzrd 2006-07-25
  • 打赏
  • 举报
回复
来晚了
给个思路 先将字符串1的空格去掉 在strcat(1,2)就ok
jixingzhong 2006-07-25
  • 打赏
  • 举报
回复
for(; merge[i] == ' '; i--); //这里查找后面的空格字符
merge[i+1] = '\0'; //尾部第一个空格设置为 串结束 字符,

这个去除第一个串结尾的空格符号。

如果合并后的字符串结尾的空格也需要去除,
使用相同方式即可,
就是这两行代码重复一下就是:
int main()
{
char array1[]="abc ";
char array2[]="4321 ";
char merge[100];
int i;

strcpy(merge, array1);
i= strlen(merge)-1;
for(; merge[i] == ' '; i--); //剪掉第一个串末尾的空格
merge[i+1] = '\0';
strcat(merge, array2);

i= strlen(merge)-1;
for(; merge[i] == ' '; i--); //剪掉第二个串末尾的空格
merge[i+1] = '\0';

printf("The result is : %s,length is %d", merge, strlen(merge));
getch();
return 0;
}
jixingzhong 2006-07-25
  • 打赏
  • 举报
回复
int main()
{
char array1[]="abc ";
char array2[]="4321";
char merge[100];
int i;

strcpy(merge, array1);
i= strlen(merge)-1;
for(; merge[i] == ' '; i--); //这里查找后面的空格字符
merge[i+1] = '\0'; //尾部第一个空格设置为 串结束 字符,
strcat(merge, array2); //链接字符串
puts(merge); //输出结果
getch();
return 0;
}
sakurako 2006-07-25
  • 打赏
  • 举报
回复
#include <string.h>

int main(int argc, char* argv[])
{
char a[] = "abc ";
char b[] = "4321 ";
char c[260] = {0};

strcpy(c, a);
memcpy(&c[strlen(a) - 1], b, strlen(b));
return 0;
}
littlefish1981 2006-07-25
  • 打赏
  • 举报
回复
char* RTrim(const char *src)
{
int iLen = strlen(src);

while (isspace(src[iLen-1]) && iLen>0)
{
iLen--;
}

char *dst = (char *)malloc(sizeof(char)*(iLen+1));

strncpy(dst,src,iLen);
dst[iLen] = '\0';

return dst;
}
tailzhou 2006-07-25
  • 打赏
  • 举报
回复

#include<stdio.h>

char * strcat(const char * s1,const char * s2)
{
int len1,len2,i,j;
char *s3;
len1=0;
len2=0;
while(s1[len1]!='\0') ++len1;
while(s2[len2]!='\0') ++len2;
i=0;
if (len1>0)
while(s1[len1-1-i]==' ') ++i;
s3=(char *)malloc(len1+len2-i+1);

for (j=0;j<len1-i;++j) s3[j]=s1[j];
for (i=0;i<=len2;++i) s3[j+i]=s2[i];

return s3;
}

int main(int argc,char * args[])
{
char s1[]="abc ";
char s2[]="123 ";
char *s3;
s3=strcat(s1,s2);
printf("%s\n",s3);
return 0;
}
jiahu0215178 2006-07-25
  • 打赏
  • 举报
回复
main()
{
int i,j;
char array1[]="abc ";
char array2[]="4321";
char merge[100];
for(i=0;i<(strlen(array1)-1);i++)
merge[i]=array1[i];
for(j=0;j<strlen(array2);j++)
merge[i++]=array2[j];
printf("%s",merge);



}
ilove8 2006-07-25
  • 打赏
  • 举报
回复
字符串数组1: "abc " ==> "abc"
晨星 2006-07-25
  • 打赏
  • 举报
回复
“第一字符结尾空格”啥意思啊?

69,336

社区成员

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

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