【发布时间】:2017-10-08 18:31:53
【问题描述】:
当我尝试访问字符串中的字符并将其添加到另一个字符串时,我不断收到此错误segmentation fault。代码如下。
提前致谢。
// function to find the initials of a name
void findInitials(char* name)
{
char* initials = "";
bool initialCreated = false;
int n = 0;
while(name[n] != '\0')
{
if(name[n] != ' ')
{
if(initialCreated == false)
{
//this is where I am facing the issue
strcat(initials, &name[n]);
printf("INITIAL: %c\n", name[n]);
initialCreated = true;
}
if(name[n+1] == ' ')
{
initialCreated = false;
n++;
}
}
n++;
}
}
【问题讨论】:
-
string应该是什么?它不是 C 中的标准类型 -
这看起来更像是一个糟糕的 C++,而不是 C。
-
哎呀,我应该解决这个问题
-
经验法则,将字符串写入未分配的内存是自找麻烦。
标签: c