我試圖從一個從txt文件讀取的大型數組中刪除空格。 我要處理的數組的strlen()大約是15,000〜22,500。C - 刪除空格
這裏是我的代碼:
#include <stdio.h>
#include <ctype.h>
void whiteSpace(char str[]){
int i, j;
for (i = 0; str[i] != 0; i ++){
if (isspace(str[i])){
for(j = i; str[j] != 0; j ++){
str[j] = str[j + 1];
}
}
}
}
這適用於短數組,但對於更大的陣列,我必須使用空格(),如兩次擺脫所有的白色空間?我認爲算法是正確的,我不知道爲什麼它適用於短陣列和大型(15,000〜22,500)陣列的毛刺,除非我調用函數兩次或三次。
謝謝。
考慮動態內存allocation.malloc這樣更大的存儲的東西 – minigeek
[刪除空間從C中的字符串?](http://stackoverflow.com/questions/1726302/removing-spaces-from-a-string-in- c) – BLUEPIXY