我在哪里收到此总线错误?

时间:2018-04-16 10:06:50

标签: c string compiler-errors

当我编译这段代码时,我遇到了一个总线错误,我不明白我在做什么导致这个。我读了一个总线错误所需的内容,但我仍然没有看到我的问题。此代码应该重现string.h库中strcpy()函数的行为。

#include <unistd.h>

void	ft_putstr(char *str)
{
	while (*str)
		write(1, str++, 1);
}

char	*ft_strcpy(char *dest, char *src)
{
	int	index;

	index = 0;
	while (src[index] != '\0')
	{
		dest[index] = src[index];
		index++;
	}
	dest[index] = '\0';
	return (dest);
}

int	main(void)
{
	char *str1, *str2, *cpy;

	str1 = "Cameron";
	str2 = "Why you no work?";
	cpy = ft_strcpy(str1, str2);
	ft_putstr(cpy);
	return (0);
}

1 个答案:

答案 0 :(得分:1)

char *name = "string";

在内存中创建字符串文字,以后无法重写。 使用malloc和你的函数而不是这样的初始化。