new untested code
This commit is contained in:
40
strops.c
40
strops.c
@ -67,7 +67,7 @@ ull_t strops_first_pos_of_char(const char* string, char char_to_search) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ull_t strops_first_pos_of_string(const char* string, const char* string_to_search) {
|
ull_t strops_first_pos_of_string(const char* string, const char* string_to_search) {
|
||||||
char contains_string;
|
bool_t contains_string;
|
||||||
ull_t sts_length = strops_length(string_to_search);
|
ull_t sts_length = strops_length(string_to_search);
|
||||||
ull_t l = strops_length(string) - sts_length + 1;
|
ull_t l = strops_length(string) - sts_length + 1;
|
||||||
ull_t i, j;
|
ull_t i, j;
|
||||||
@ -86,7 +86,7 @@ ull_t strops_first_pos_of_string(const char* string, const char* string_to_searc
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
char strops_contains_char(const char* string, char char_to_search) {
|
bool_t strops_contains_char(const char* string, char char_to_search) {
|
||||||
ull_t i;
|
ull_t i;
|
||||||
for (i = 0; i < strops_length(string) + 1; i++) {
|
for (i = 0; i < strops_length(string) + 1; i++) {
|
||||||
if (string[i] == char_to_search) {
|
if (string[i] == char_to_search) {
|
||||||
@ -96,8 +96,8 @@ char strops_contains_char(const char* string, char char_to_search) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
char strops_contains_string(const char* string, const char* string_to_search) {
|
bool_t strops_contains_string(const char* string, const char* string_to_search) {
|
||||||
char contains_string = 0;
|
bool_t contains_string = 0;
|
||||||
ull_t sts_length = strops_length(string_to_search);
|
ull_t sts_length = strops_length(string_to_search);
|
||||||
ull_t l = strops_length(string) - sts_length + 1;
|
ull_t l = strops_length(string) - sts_length + 1;
|
||||||
ull_t i, j;
|
ull_t i, j;
|
||||||
@ -116,6 +116,34 @@ char strops_contains_string(const char* string, const char* string_to_search) {
|
|||||||
return contains_string;
|
return contains_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool_t strops_equals(const char* string1, const char* string2) {
|
||||||
|
if (strops_length(string1) != strops_length(string2)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
bool_t equal = 1;
|
||||||
|
ull_t i;
|
||||||
|
for (i = 0; i < strops_length(string1); i++) {
|
||||||
|
if (string1[i] != string2[i]) {
|
||||||
|
equal = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return equal;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool_t strops_starts_with(const char* string1, const char* string2) {
|
||||||
|
assert(strops_length(string1) >= strops_length(string2) && "string2 cannot be longer than string1");
|
||||||
|
bool_t starts_with = 1;
|
||||||
|
ull_t i;
|
||||||
|
for (i = 0; i < strops_length(string2); i++) {
|
||||||
|
if (string1[i] != string2[i]) {
|
||||||
|
starts_with = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return starts_with;
|
||||||
|
}
|
||||||
|
|
||||||
char* strops_to_lowercase(const char* string) {
|
char* strops_to_lowercase(const char* string) {
|
||||||
char* result = strops_copy(string);
|
char* result = strops_copy(string);
|
||||||
ull_t i;
|
ull_t i;
|
||||||
@ -138,7 +166,7 @@ char* strops_to_uppercase(const char* string) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int strops_is_lowercase(const char* string) {
|
bool_t strops_is_lowercase(const char* string) {
|
||||||
ull_t i;
|
ull_t i;
|
||||||
for (i = 0; i < strops_length(string); i++) {
|
for (i = 0; i < strops_length(string); i++) {
|
||||||
if (!(string[i] >= 'a' && string[i] <= 'z')) {
|
if (!(string[i] >= 'a' && string[i] <= 'z')) {
|
||||||
@ -148,7 +176,7 @@ int strops_is_lowercase(const char* string) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int strops_is_uppercase(const char* string) {
|
bool_t strops_is_uppercase(const char* string) {
|
||||||
ull_t i;
|
ull_t i;
|
||||||
for (i = 0; i < strops_length(string); i++) {
|
for (i = 0; i < strops_length(string); i++) {
|
||||||
if (!(string[i] >= 'A' && string[i] <= 'Z')) {
|
if (!(string[i] >= 'A' && string[i] <= 'Z')) {
|
||||||
|
18
strops.h
18
strops.h
@ -10,14 +10,24 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
typedef unsigned long long ull_t;
|
typedef unsigned long long ull_t;
|
||||||
|
typedef unsigned char bool_t;
|
||||||
|
|
||||||
char contains_char(const char* string, char char_to_search);
|
char* strops_lenght(const char* string);
|
||||||
char contains_string(const char* string, const char* string_to_search);
|
char* strops_copy(const char* string);
|
||||||
|
char* strops_copy_amount(const char* string, ull_t amount);
|
||||||
|
|
||||||
|
ull_t strops_first_pos_of_char(const char* string, char char_to_search);
|
||||||
|
ull_t strops_first_pos_of_string(const char* string, const char* string_to_search);
|
||||||
|
|
||||||
|
bool_t strops_contains_char(const char* string, char char_to_search);
|
||||||
|
bool_t strops_contains_string(const char* string, const char* string_to_search);
|
||||||
|
bool_t strops_equals(const char* string1, const char* string2);
|
||||||
|
bool_t strops_starts_with(const char* string1, const char* string2);
|
||||||
|
|
||||||
char* strops_to_lowercase(const char* string);
|
char* strops_to_lowercase(const char* string);
|
||||||
char* strops_to_uppercase(const char* string);
|
char* strops_to_uppercase(const char* string);
|
||||||
int strops_is_lowercase(const char* string);
|
bool_t strops_is_lowercase(const char* string);
|
||||||
int strops_is_uppercase(const char* string);
|
bool_t strops_is_uppercase(const char* string);
|
||||||
|
|
||||||
char* strops_insert_at_pos_string(const char* string, const char* string_to_insert, ull_t pos);
|
char* strops_insert_at_pos_string(const char* string, const char* string_to_insert, ull_t pos);
|
||||||
char* strops_remove_at_pos_char(const char* string, ull_t pos);
|
char* strops_remove_at_pos_char(const char* string, ull_t pos);
|
||||||
|
2
tests.c
2
tests.c
@ -79,7 +79,7 @@ int test_contains_string() {
|
|||||||
char result;
|
char result;
|
||||||
input = "I suck at C";
|
input = "I suck at C";
|
||||||
expected = 1;
|
expected = 1;
|
||||||
result = strops_contains_string(input, "C");
|
result = strops_contains_string(input, "suck");
|
||||||
if (result != expected) {
|
if (result != expected) {
|
||||||
printf("test_ failed\n");
|
printf("test_ failed\n");
|
||||||
printf("Got = %d\nExpected = %d\n", result, expected);
|
printf("Got = %d\nExpected = %d\n", result, expected);
|
||||||
|
Reference in New Issue
Block a user