Не используйте strlen
в for
, используется O (n) время - циклически просматривает всю строку при каждом вызове - так что ваш for
будет работать очень медленно, так как он вызывается на каждом шаге вfor
.
Лучше:
char newPath2[MAX_PATH];
int newCount2 = 0;
const int length = strlen(newPath);
for(int i=0; i < length; i++)
{
if(newPath[i] == ' ')
{
newPath2[newCount2++] = '_';
} else {
newPath2[newCount2++] = newPath[i];
}
}
Таким образом, если вам нужно заменить пробел, скажем, двумя символами (например, \<space>
), вы можете легко заменить newPath2[newCount2++] = '_'
с: newPath2[newCount2++] = '\\'; newPath2[newCount2++] = ' ';