Cum să eliminați spațiul alb din șiruri cu strtrim() în programarea C

Cum Sa Eliminati Spatiul Alb Din Siruri Cu Strtrim In Programarea C



Spațiile albe sunt o parte esențială a datelor text, dar atunci când vine vorba de procesarea datelor text, spațiile albe pot deveni mai mult o provocare. Caracterele cu spații albe, cum ar fi spații, file și linii noi, pot face dificilă compararea și lucrul cu șiruri. Aceste caractere pot cauza erori și rezultate false în procesarea textului. Pentru a evita aceste probleme, putem elimina spațiile albe din șiruri folosind strtrim() funcția în C.

Ce este funcția strtrim().

Limbajul computerului C vine cu o funcție încorporată numită strtrim() . Caracterele spațiilor albe de la începutul și sfârșitul unui șir sunt eliminate. Șirul de tăiat este singura intrare dată funcției. Șirul original nu este schimbat; în schimb, un șir nou este produs prin eliminarea spațiului alb. Noul șir este returnat de funcție.

The strtrim() funcția este definită în <șir.h> fișier antet în C. The strtrim() funcția elimină spațiile albe de început și de final din șir. Putem folosi această funcție în programul nostru pentru a ne asigura că șirurile noastre sunt tăiate din toate spațiile albe.







Cum să eliminați spațiul alb din șiruri cu strtrim() în programarea C

Sintaxa pentru strtrim() funcția din C este definită după cum urmează:



char * strtrim ( char * str )

Funcția returnează un pointer către un șir nou care are spațiul alb eliminat. Argumentul str este sfoara de tăiat. Șirul original nu este modificat. Noul șir returnat de funcție trebuie eliberat atunci când nu mai este necesar, pentru a preveni scurgerile de memorie.



Pentru început, strtrim() funcția numără numărul de caractere de spații albe la începutul șirului. Numărul de caractere albe de la sfârșitul șirului este apoi numărat. Caracterele non-spații sunt apoi inserate între cele două seturi de caractere albe pentru a produce un șir nou.





Iată un exemplu de utilizare a strtrim() funcţie:

#include

#include <șir.h>

#include

char * strtrim ( char * str ) {

size_t len ​​= strlen ( str ) ;

dacă ( doar == 0 ) {

întoarcere str;

}

size_t start = 0 ;

in timp ce ( isspace ( str [ start ] ) ) {

start++;

}

size_t end = len - 1 ;

in timp ce ( isspace ( str [ Sfârşit ] ) ) {

Sfârşit--;

}

dimensiune_t i;

pentru ( i = 0 ; i < = sfârşit - început; i++ ) {

str [ i ] = str [ start + i ] ;

}

str [ i ] = „\0” ;

întoarcere str;

}

int principal ( ) {

char str [ ] = 'Sugestie Linux' ;

printf ( 'Înainte de a tăia: ' % s ' \n ' , str ) ;

strtrim ( str ) ;

printf ( „După tăiere:” % s ' \n ' , str ) ;

întoarcere 0 ;

}

The strtrim() funcția elimină orice spațiu alb de început sau de sfârșit dintr-un șir atunci când este dat un șir ca intrare (cum ar fi spații goale, tab-uri, linii noi etc.). După aplicarea modificărilor la locul șirului de intrare, funcția returnează un pointer la textul actualizat. În funcția principală, definim șirul str, care are spații albe de început și de final. După executarea strtrim() funcția pe str, șirurile originale și tăiate sunt apoi tipărite folosind printf().



Ieșire

Concluzie

Procesarea datelor text poate fi destul de dificilă atunci când aveți de-a face cu spații albe. Cu toate acestea, putem elimina rapid și eficient spațiile albe din șiruri folosind C strtrim() funcţie. Funcția este simplu de utilizat și este compatibilă cu majoritatea programelor care procesează șiruri. Fără a fi nevoie să eliminați manual caracterele de spații albe, este simplă editarea și compunerea returnărilor.