Commons Library  1.7.0
string.h
Ir a la documentación de este archivo.
1 /*
2  * Copyright (C) 2012 Sistemas Operativos - UTN FRBA. All rights reserved.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef STRING_UTILS_H_
18 #define STRING_UTILS_H_
19 
20  #include <stdbool.h>
21  #include <stdarg.h>
22 
32  char* string_new(void);
33 
45  char* string_itoa(int number);
46 
58  char* string_from_format(const char* format, ...) __attribute__((format(printf, 1, 2)));
59 
67  char* string_from_vformat(const char* format, va_list arguments);
68 
79  char* string_repeat(char ch, int count);
80 
95  void string_append(char ** original, char * string_to_add);
96 
112  void string_n_append(char** original, char* string_to_add, int n);
113 
130  void string_append_with_format(char **original, const char *format, ...) __attribute__((format(printf, 2, 3)));
131 
141  char* string_duplicate(char* original);
142 
159  void string_to_upper(char * text);
160 
177  void string_to_lower(char * text);
178 
195  void string_capitalized(char * text);
196 
210  void string_trim(char ** text);
211 
225  void string_trim_left(char ** text);
226 
240  void string_trim_right(char ** text);
241 
250  int string_length(char * text);
251 
261  bool string_is_empty(char * text);
262 
274  bool string_starts_with(char * text, char * begin);
275 
287  bool string_ends_with(char* text, char* end);
288 
301  bool string_equals_ignore_case(char * actual, char * expected);
302 
314  char** string_split(char * text, char * separator);
315 
330  char** string_n_split(char* text, int n, char* separator);
331 
347  char* string_substring(char* text, int start, int length);
348 
357  char* string_substring_from(char *text, int start);
358 
366  char* string_substring_until(char *text, int length);
367 
373  void string_iterate_lines(char ** strings, void (*closure)(char *));
374 
386  char** string_get_string_as_array(char* text);
387 
399  char* string_reverse(char* text);
400 
416  char* string_replace(char* text, char* substring, char* replacement);
417 
423  bool string_contains(char* text, char *substring);
424 
429  char** string_array_new(void);
430 
436  void string_array_destroy(char** array);
437 
442  int string_array_size(char** array);
443 
448  bool string_array_is_empty(char** array);
449 
463  void string_array_push(char*** array, char* text);
464 
474  char* string_array_replace(char** array, int pos, char* text);
475 
483  char* string_array_pop(char** array);
484 
485 #endif /* STRING_UTILS_H_ */
void string_append_with_format(char **original, const char *format,...)
Concatena al primer string el resultado de aplicar los parametros al formato especificado.
void string_capitalized(char *text)
Capitaliza un string.
int string_array_size(char **array)
Retorna la cantidad de líneas del array de strings.
void string_trim(char **text)
Remueve todos los caracteres vacios de la derecha y la izquierda.
char ** string_array_new(void)
Crea un array de strings vacio.
char * string_repeat(char ch, int count)
Crea un string de longitud count con el mismo caracter.
char * string_reverse(char *text)
Retorna el texto invertido. No se maneja el caso de NULL, si se pasa NULL su comportamiento no esta d...
char * string_new(void)
Crea un string vacio.
void string_append(char **original, char *string_to_add)
Agrega al primer string el segundo.
int string_length(char *text)
Retorna la longitud del string.
char * string_replace(char *text, char *substring, char *replacement)
Retorna una copia de un string con todas las ocurrencias de un substring no vacío siendo reemplazadas...
bool string_array_is_empty(char **array)
Verifica si el array de strings está vacío.
char * string_substring_until(char *text, int length)
Retorna los primeros length caracteres de text como un nuevo string.
char ** string_n_split(char *text, int n, char *separator)
Separa un string tantas veces por su separador como n lo permita.
bool string_ends_with(char *text, char *end)
Retorna un boolean que indica si el string text finaliza con el string end pasado por parametro.
bool string_contains(char *text, char *substring)
Retorna un boolean que indica si text contiene o no a substring.
void string_to_upper(char *text)
Pone en mayuscula todos los caracteres de un string.
bool string_equals_ignore_case(char *actual, char *expected)
Retorna si dos strings son iguales ignorando las mayusculas y minusculas.
void string_n_append(char **original, char *string_to_add, int n)
Agrega al primer string un máximo de n caracteres del segundo.
char * string_itoa(int number)
Crea un string en formato decimal a partir de un número.
void string_array_destroy(char **array)
Destruye un array con sus strings.
bool string_starts_with(char *text, char *begin)
Retorna un boolean que indica si el string text comienza con el string begin pasado por parametro.
void string_array_push(char ***array, char *text)
Agrega un string al final del array.
void string_trim_left(char **text)
Remueve todos los caracteres vacios de la izquierda.
void string_trim_right(char **text)
Remueve todos los caracteres vacios de la derecha.
char * string_from_format(const char *format,...)
Crea un nuevo string a partir de un formato especificado.
char * string_array_pop(char **array)
Quita el último string del array y lo retorna.
char * string_substring_from(char *text, int start)
Retorna el substring de text desde el indice start hasta el último de la palabra.
char * string_array_replace(char **array, int pos, char *text)
Reemplaza un string en un array por otro.
char * string_substring(char *text, int start, int length)
Retorna los length caracteres de text empezando en start en un nuevo string.
char ** string_split(char *text, char *separator)
Separa un string dado un separador.
char * string_duplicate(char *original)
Retorna una copia del string pasado como argumento.
void string_to_lower(char *text)
Pone en minuscula todos los caracteres de un string.
void string_iterate_lines(char **strings, void(*closure)(char *))
Itera un array de strings y aplica la función closure a cada uno.
bool string_is_empty(char *text)
Retorna si un string es "".
char ** string_get_string_as_array(char *text)
Retorna un array de strings a partir de un string formateado como array.
char * string_from_vformat(const char *format, va_list arguments)
Crea un nuevo string a partir de un formato especificado pasando un va_list con los argumentos.