// Library file: strlib.cpp // Function implementations #include #include #include "strlib.h" boolean string_equal(string str1, string str2) { return strcmp(str1, str2) == 0; } boolean string_less(string str1, string str2) { return strcmp(str1, str2) < 0; } boolean is_integer(string str) { boolean no_bad_digits = TRUE; int i, length; i = 0; length = strlen(str); while (no_bad_digits && (i < length)) if (! isdigit(str[i])) no_bad_digits = FALSE; else i++; return no_bad_digits; } int to_integer(string str) { int length, total; length = strlen(str); total = 0; for (int j = 0; j < length; j++) total = 10 * total + str[j] - '0'; return total; } void make_uppercase(string str) { int length = strlen(str); for (int j = 0; j < length; j++) str[j] = toupper(str[j]); } void string_swap(string str1, string str2) { string temp; strcpy(temp, str1); strcpy(str1, str2); strcpy(str2, temp); } char nth_char(string str, int n) { return str[n - 1]; } void append_char(string str, char ch) { int length = strlen(str); if (length < MAX_STRING_SIZE - 1) { str[length] = ch; str[length + 1] = '/0'; } }