我正在用C制作自己的strcat版本,但是无法在连接词之间添加空格。 ps:搜索过多没有合适的答案。
#include <stdio.h>
#include <conio.h>
int xstrlen(char *a)
{
int count = 0;
while (*a != '\0')
{
count++;
a++;
}
return count;
}
void xstrcpy(char *a, char *b, char *c)
{
while (*b != '\0')
{
*a++ = *b;
*b++;
}
while (*c != '\0')
{
*a++ = *c;
*c++;
}
*a = '\0';
}
void xstrcat(char *a, char *b)
{
xstrcpy(a, a, b);
}
int main()
{
char src[20], tar[20];
puts("First Name");
gets(src);
puts("Last Name");
gets(tar);
printf("Executing...\n");
xstrcat(src, tar);
printf("Full Name - %s", src);
printf("\nEnter any Key to exit...");
getch();
return 0;
}
试图在xstrcpy的两个while循环之间添加* a ='',但这没有用。
答案 0 :(得分:2)
这很容易
*a++=' ';
完整代码:
void xstrcpy(char *a, char *b, char *c)
{
while (*b != '\0')
{
*a++ = *b++;
}
*a++=' ';
while (*c != '\0')
{
*a++ = *c++;
}
*a = '\0';
}