1
1
mirror of https://github.com/theoludwig/libcproject.git synced 2024-12-11 21:13:00 +01:00
libcproject/lib/character.c

43 lines
1.1 KiB
C
Raw Normal View History

2023-01-05 19:28:05 +01:00
#include "character.h"
void character_append(string_t string, const char character) {
size_t length = string_get_length(string);
character_append_at(string, character, length);
2023-01-05 19:28:05 +01:00
}
void character_append_at(string_t string, const char character, const size_t index) {
size_t length = string_get_length(string);
2023-01-05 19:28:05 +01:00
for (size_t index_string = length; index_string > index; index_string--) {
string[index_string] = string[index_string - 1];
2023-01-05 19:28:05 +01:00
}
string[index] = character;
string[length + 1] = '\0';
2023-01-05 19:28:05 +01:00
}
char character_to_upper(const char character) {
if (character >= 'a' && character <= 'z') {
return character + ('A' - 'a');
}
return character;
}
char character_to_lower(const char character) {
if (character >= 'A' && character <= 'Z') {
return character - ('A' - 'a');
}
return character;
}
bool character_get_is_digit(const char character) {
return character >= '0' && character <= '9';
}
uint8_t character_get_alphabet_position(const char character) {
2023-01-05 19:28:05 +01:00
const char letter = character_to_lower(character);
uint8_t position = 0;
2023-01-05 19:28:05 +01:00
if (letter >= 'a' && letter <= 'z') {
position = (letter - 'a') + 1;
}
return position;
}