Potrzebuje funkcji usuwajacej znaki z początku i konca istniejacego lancucha znakow. Moja funkcja usuwajaca dane znaki z początku stringa dziala dobrze - po prostu przesuwam wskaznik do przodu.
Zalezy mi na tym, aby funkcja usuwajaca znaki z konca lancucha operowala na danych istniejacych juz w pamieci, w miare mozliwosci nie alokowala i nie zwracala wskaznika do nowego lancucha. Mysle i nie idzie mi to. Bede wdzieczny za wskazowki.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void begindelchar(char** str, const char ch)
{
while(**str)
if(**str == ch) ++(*str);
else return;
}
void enddelchar(char** str, const char ch)
{
int len = strlen(*str);
char* ptr = *str + len;
for(int i = len; i > 0; --i) {
if(*ptr == ch) {
*ptr = 0;
--ptr;
} else return;
}
}
int main()
{
char* line = NULL; size_t size;
int length;
char* test = " BlablablABLA! ";
printf("len: %d\n", strlen(test));
enddelchar(&test, ' ');
printf("%d %s\n", strlen(test), test);
}