我試圖不斷地將char添加到字符串的末尾。我通過運行該這樣做我的主使用strcat時添加的隨機空格
char String[256];
char alphabets[26] = "abcdefghijklmnopqrstuvxyz";
for (int i = 0; i < 257; i++) {
char newChar = alphabets[indexOfNewChar-1];
printf("new char = %c\n",newChar);
strcat(String,&newChar);
printf("%s\n",String);
}
,當我跑這堆代碼,這是印刷 new char = b bkhobtj dfhhai bbdhgfcafgcfi bbaccfeai afebaci aedgdddai hei hfedhbi dabeedbi i cfhi i caddbhgbi i acfi cehbhcddcahbhbabi aaadi hi ffhhccbccfbbfggfdhebgeacecai cefdcdb
正如你可以看到有空間和新線路在運行過程中隨機出現。 實現這些隨機空間的出場後,我試圖用
char* removeSpaces(char* input)
{
int i,j;
char *output=input;
for (i = 0, j = 0; i<strlen(input); i++,j++)
{
if (input[i]!=' ')
output[j]=input[i];
else
j--;
}
output[j]=0;
return output;
}
但是去掉空格,這並沒有真正影響結果由於還有空白的外觀。我怎樣才能刪除這些空格或更好地阻止它們出現。 在旁註中,代碼在for循環的160次重複後終止。我該如何克服這一點。
1)'char String [256];' - >'char String [256] =「」;'或'char String [256]; * String = 0;' – BLUEPIXY
2)'i < 257;' -->'i
BLUEPIXY
3)'strcat(String,&newChar);' - >'strncat(String,&newChar,1);' – BLUEPIXY