Trim C: Инструмент, Который Улучшит Вашу Парикмахерскую Рутину
Функция trim() в языке программирования С позволяет удалять пробелы в начале и конце строки. Это может быть полезно, когда нужно обработать ввод пользователя, избегая лишних пробелов, или при работе с текстовыми файлами.
Например, имеется строка " Hello, World! ". Для удаления пробелов в начале и конце строки, можно использовать функцию trim() следующим образом:
c
#include
#include
int main() {
char str[] = " Hello, World! ";
printf("Строка до обработки: '%s'.\n", str);
// Удаление пробелов:
char* trimmed_str = trim(str);
printf("Строка после обработки: '%s'.\n", trimmed_str);
return 0;
}
char* trim(char* str) {
size_t len = strlen(str);
char* frontp = str;
char* endp = str + len - 1;
char* new_str;
while (isspace(*frontp)) frontp++;
if (endp != frontp)
while (isspace(*endp) && endp != frontp) endp--;
len = (endp - frontp) + 1;
new_str = (char*)malloc(len + 1);
if (!new_str) return NULL;
strncpy(new_str, frontp, len);
new_str[len] = '\0';
return new_str;
}
Функция trim() использует указатели на переданную строку, чтобы определить начало и конец строки, а затем удаляет лишние пробелы при помощи циклов while и функции isspace().
В данном примере, функция trim() создает новую строку с помощью функции malloc() для динамического выделения памяти. Затем, содержимое исходной строки копируется в новую строку при помощи функции strncpy(), и в конце новая строка завершается нулевым символом.
В результате выполнения программы, удаляются все пробелы в начале и конце строки, и на выходе мы получаем строчку: "Hello, World!".