я пытаюсь вернуть чистую строку (без пробелов в начале или в конце строки)
поэтому я использую распределение Dynamique и указатели,как вернуть чистую строку
char* killspace(char *a)
{
char *enda = NULL;
int i = 0, spaceS = 0, spaceE = 0, bigend = 0 , out = 0, taille = strlen(a);
do
{
if (a[i] == ' ')
{
spaceS++;
}
else
{
out = 1;
}
i++;
} while (out == 0);
out = 0;
do
{
if (a[taille] == ' ')
{
spaceE++;
}
else
{
out = 1;
}
taille--;
} while (out == 0);
bigend = (spaceE + spaceS);
// new size
enda = (char *)calloc((strlen(a)-bigend), sizeof(char));
i = 0;
for (int j = spaceS; j < (strlen(a)-spaceE); j++)
{
enda[i] = a[j];
i++;
}
return(enda);
free(enda);
}
bigend
свы Номбры неиспользованного на начинаются и в конце строки , но взамен я получу чистую строку + caractre как (YYYY «« «« «« «« îþîþîþ)
и простите за мой плохой английский :(
Вы забыли обнулить конец символа, добавив '\ 0' в конце его. –
Что такое 'free()' после безусловного «возврата», которого нужно достичь? – EOF
Я освободил освобождение памяти, и нет условия для возврата –