【发布时间】:2023-03-24 05:46:01
【问题描述】:
我正在尝试从从 txt 文件读取的大型数组中删除空格。 我要处理的数组的 strlen() 大约是 15,000~22,500。
这是我的代码:
#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];
}
}
}
}
这适用于短数组,但对于较大的数组,我必须使用两次 whiteSpace() 来消除所有空格?
我认为该算法是正确的,我不知道为什么它适用于短数组和较大(15,000~22,500)数组的故障,除非我调用该函数两次或三次。
谢谢。
【问题讨论】:
-
考虑动态内存分配.malloc 东西以获得更大的存储空间
标签: c arrays char whitespace removing-whitespace