• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie nadmiaru spacji

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
726 wizyt
pytanie zadane 27 kwietnia 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)
char* trim(char* text)
{
    if(text == NULL)
    {
        return NULL;
    }
    char *dwa = text;
    char *jeden = text;
    int zmienna = 0;
    while(*dwa != '\0')
    {
        *jeden = *dwa++;
        if((*jeden >= 'a' && *jeden <= 'z') || (*jeden >= 'A' && *jeden <= 'Z'))
        {
            if(*(jeden + 1) == ' ')
            {
               jeden = jeden + 2;
            }
            else
            {
                jeden++;
            }
        }
    }
    *jeden = '\0';
    return text;
}

Chciałbym sprawić aby podana funkcja usuwała wszystkie spacje z tekstu a zostawało jedynie po jednej spacji między wyrazami. Ma ktoś pomysł jak to poprawić żeby poprawnie działało?

komentarz 27 kwietnia 2020 przez sefir Dyskutant (8,560 p.)
Możesz np. w pętli szukać wystąpień 2 spacji i zamieniać na 1 spację do momentu kiedy nie znajdzie żadnego wystąpienia 2 spacji.
komentarz 27 kwietnia 2020 przez ResCrove Obywatel (1,700 p.)
A jak to zrobić? Rozpisałbyś na szybko?

1 odpowiedź

0 głosów
odpowiedź 27 kwietnia 2020 przez j23 Mędrzec (195,240 p.)
wybrane 27 kwietnia 2020 przez ResCrove
 
Najlepsza
char* trim(char* text)
{
    if (text == NULL) {
        return NULL;
    }
    
    char* p1 = text;
    char* p2 = text;
    
    while ((*p1 = *p2++)) {
        if(!(*p1 == ' ' && *p1 == *p2)) ++p1;
    }
    
    *p1 = 0;
    return text;
}

 

Podobne pytania

0 głosów
1 odpowiedź 1,317 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez agre Użytkownik (550 p.)
0 głosów
0 odpowiedzi 404 wizyt
pytanie zadane 15 października 2020 w PHP przez nowyklemens Początkujący (430 p.)
0 głosów
1 odpowiedź 2,349 wizyt
pytanie zadane 3 grudnia 2015 w C i C++ przez Kaydan Początkujący (260 p.)

93,430 zapytań

142,427 odpowiedzi

322,652 komentarzy

62,792 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...