mirror of
https://github.com/theoludwig/libcproject.git
synced 2025-05-21 23:21:15 +02:00
chore: initial commit
This commit is contained in:
47
lib/character.c
Normal file
47
lib/character.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "character.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "string.h"
|
||||
|
||||
void character_append(char* string, const char character) {
|
||||
size_t length = string_get_length(string);
|
||||
character_append_at(string, character, length);
|
||||
}
|
||||
|
||||
void character_append_at(char* string, const char character, const size_t index) {
|
||||
size_t length = string_get_length(string);
|
||||
for (size_t index_string = length; index_string > index; index_string--) {
|
||||
string[index_string] = string[index_string - 1];
|
||||
}
|
||||
string[index] = character;
|
||||
string[length + 1] = '\0';
|
||||
}
|
||||
|
||||
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';
|
||||
}
|
||||
|
||||
unsigned char character_get_alphabet_position(const char character) {
|
||||
const char letter = character_to_lower(character);
|
||||
unsigned char position = 0;
|
||||
if (letter >= 'a' && letter <= 'z') {
|
||||
position = (letter - 'a') + 1;
|
||||
}
|
||||
return position;
|
||||
}
|
Reference in New Issue
Block a user