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) {
|
||||
char contains_string;
|
||||
bool_t contains_string;
|
||||
ull_t sts_length = strops_length(string_to_search);
|
||||
ull_t l = strops_length(string) - sts_length + 1;
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
for (i = 0; i < strops_length(string) + 1; i++) {
|
||||
if (string[i] == char_to_search) {
|
||||
@ -96,8 +96,8 @@ char strops_contains_char(const char* string, char char_to_search) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
char strops_contains_string(const char* string, const char* string_to_search) {
|
||||
char contains_string = 0;
|
||||
bool_t strops_contains_string(const char* string, const char* string_to_search) {
|
||||
bool_t contains_string = 0;
|
||||
ull_t sts_length = strops_length(string_to_search);
|
||||
ull_t l = strops_length(string) - sts_length + 1;
|
||||
ull_t i, j;
|
||||
@ -116,6 +116,34 @@ char strops_contains_string(const char* string, const char* string_to_search) {
|
||||
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* result = strops_copy(string);
|
||||
ull_t i;
|
||||
@ -138,7 +166,7 @@ char* strops_to_uppercase(const char* string) {
|
||||
return result;
|
||||
}
|
||||
|
||||
int strops_is_lowercase(const char* string) {
|
||||
bool_t strops_is_lowercase(const char* string) {
|
||||
ull_t i;
|
||||
for (i = 0; i < strops_length(string); i++) {
|
||||
if (!(string[i] >= 'a' && string[i] <= 'z')) {
|
||||
@ -148,7 +176,7 @@ int strops_is_lowercase(const char* string) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int strops_is_uppercase(const char* string) {
|
||||
bool_t strops_is_uppercase(const char* string) {
|
||||
ull_t i;
|
||||
for (i = 0; i < strops_length(string); i++) {
|
||||
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 char bool_t;
|
||||
|
||||
char contains_char(const char* string, char char_to_search);
|
||||
char contains_string(const char* string, const char* string_to_search);
|
||||
char* strops_lenght(const char* string);
|
||||
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_uppercase(const char* string);
|
||||
int strops_is_lowercase(const char* string);
|
||||
int strops_is_uppercase(const char* string);
|
||||
bool_t strops_is_lowercase(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_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;
|
||||
input = "I suck at C";
|
||||
expected = 1;
|
||||
result = strops_contains_string(input, "C");
|
||||
result = strops_contains_string(input, "suck");
|
||||
if (result != expected) {
|
||||
printf("test_ failed\n");
|
||||
printf("Got = %d\nExpected = %d\n", result, expected);
|
||||
|
Reference in New Issue
Block a user