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];
}
}
}
}
これは、短い配列のために動作しますが、より大きなアレイのために、私は二回、すべての空白を取り除くためにのように空白を()を使用する必要がありますか?
私は関数が2〜3回呼び出されない限り、短い配列と大きな配列(15,000〜22,500)の配列に対してはなぜ機能するのか分かりません。
ありがとうございました。
このような大きな記憶域のために動的メモリ割り当て.mallocを考える – minigeek
[Cの文字列から空白を削除する](http://stackoverflow.com/questions/1726302/removing-spaces-from-a-string-in- c) – BLUEPIXY