Главная arrow Программирование arrow ARM arrow Функция trim для C и C++ Thursday, December 14 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Функция trim для C и C++ Версия для печати
Написал microsin   
16.10.2009

К сожалению, в стандартной библиотеке C нет функций для удаления из строки по краям неотображаемых символов (пробелов, табуляции и т. д.). В этой статье рассмотрены примеры кода для таких функций. Код взят со странички http://www.wilsonmar.com/1strings.htm.

void trim(char *s)
{
     // удаляем пробелы и табы с начала строки:
     int i=0,j;
     while((s[i]==' ')||(s[i]=='\t')) 
     {
          i++;
     }
     if(i>0) 
     {
          for(j=0;j<strlen(s);j++) 
          {
              s[j]=s[j+i];
          }
          s[j]='\0';
     }

     // удаляем пробелы и табы с конца строки:
     i=strlen(s)-1;
     while((s[i]==' ')||(s[i]=='\t')) 
     {
          i--;
     }
     if(i<(strlen(s)-1)) 
     {
          s[i+1]='\0';
     }
}

// Еще набор функций, использующий оператор &&:
void rtrim( char * string, char * trim )
{
     // делаем трим справа
     int i;
     for( i = strlen (string) - 1; 
           i >= 0 && strchr (trim, string[i]) != NULL;
           i-- )
     {  
         // переставляем терминатор строки 
         string[i] = '\0';
     }
}

void ltrim( char * string, char * trim )
{
     // делаем трим слева
     while ( string[0] != '\0' && strchr ( trim, string[0] ) != NULL )
     {
         memmove( &string[0], &string[1], strlen(string) );
     }
}

Последнее обновление ( 16.10.2009 )
 

Комментарии  

  1. #3 Григорий
    2015-05-2013:18:22 Благодарю!
  2. #2 Валёк
    2012-06-2809:20:51 Спасибо!
  3. #1 Наталия Александровна
    2011-09-0807:10:26 Спасибо

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017