Scrieți funcția Trim care primește ca parametru un șir de caractere s, elimină eventualele spații de la începutul și sfârșitul șirului și returnează tot prin intermediul lui s șirul de caractere rezultat.
Răspunsuri la întrebare
void Trim(char s[]) {
int i = 0, sem = 0;
int p1, p2;
while (s[i] != '\0') {
if (s[i] != ' ' && sem == 0)
sem = 1, p1 = i;
if (s[i] != ' ')
p2 = i;
i++;
}
for (int i = p1; i <= p2; i++)
s[i - p1] = s[i];
s[p2 - p1 + 1] = '\0';
}
void strcpy(char * dest,
const char * src) {
int i;
for (i = 0; src[i] != '\0'; i++)
dest[i] = src[i];
dest[i] = '\0';
}
void Trim(char * s) {
char * str = new char[101];
strcpy(str, s);
while (str[0] == ' ' str[0] == '\t') {
str++;
}
int len = 0;
while (str[len] != '\0')
len++;
while (str[len - 1] == ' ' str[len - 1] == '\t') {
str[len - 1] = '\0';
len--;
}
strcpy(s, str);
}