我基本上只是採取一個字符串和追加/ concatting與另一個字符串。第一次運行會產生所需的結果,但第二次,第三次等結果似乎是src字符串的兩倍。將事情與jQuery結合起來非常簡單,不知道C中發生了什麼。我應該使用memset嗎?或calloc?我的字符串concatination每次加倍結果,爲什麼?
#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名,他們都是米歇爾的結果是...
Mic..
Mic....
Mic......
Mic........
您發佈的代碼有語法錯誤。這意味着它不是您嘗試運行的確切代碼。 –
嗯編譯和運行爲我。儘管我按照我的方式輸入了它,但看起來像我錯過了a)。我將編輯缺失的括號。 – user3622460
你想要[this](http://ideone.com/AHz2Oe)。同時使用'sprintf'的'snprintf'。 – BLUEPIXY