【发布时间】:2017-06-02 20:28:59
【问题描述】:
我基本上只是获取一个字符串并附加/连接另一个字符串。第一次运行会产生所需的结果,但第二次、第三次等结果似乎使 src 字符串加倍。将事物与 jQuery 结合起来非常简单,不确定 C 中发生了什么。我应该使用 memset 吗?还是calloc?
#include <stdio.h>
#include <string.h>
int main(void) {
const char* name = "Michelle";
char *ptr;
char dest[30];
char yourName[30];
char dots[] = "..";
int i;
for (i=0;i<4;i++)
{
if (strlen(name) > 5)
{
sprintf(yourName, "%s", name);
strncpy(dest, yourName, 3);
ptr = strcat(dest, dots);
sprintf(yourName, "%s", ptr);
printf("%s\n", yourName);
}
}
return 0;
}
我希望看到这样的结果
米歇尔成为麦克风.. 这行得通,但是如果我的名字结构有 4 个名字并且他们都是 Michelle,那么结果是......
Mic..
Mic....
Mic......
Mic........
【问题讨论】:
-
您发布的代码有语法错误。这意味着它不是您尝试运行的确切代码。
-
Hmm 为我编译和运行。我完全按照我的方式输入了它,但看起来我确实错过了一个)。我将编辑缺少的括号。
-
你喜欢this。也使用
snprintfinsterd ofsprintf。