int main() { printf("=== String Manipulation Tests ===\n\n"); char *text = "Hello World"; printf("Testing strpos:\n"); int pos = strpos(text, "World"); printf("Position of 'World' in 'Hello World': %d\n", pos); int pos2 = strpos(text, "xyz"); printf("Position of 'xyz' in 'Hello World': %d\n\n", pos2); printf("Testing substr:\n"); char *sub = substr(text, 0, 5); printf("substr('Hello World', 0, 5) = '%s'\n", sub); char *sub2 = substr(text, 6, 5); printf("substr('Hello World', 6, 5) = '%s'\n\n", sub2); printf("Testing upper and lower:\n"); char *up = upper(text); printf("upper('Hello World') = '%s'\n", up); char *low = lower(text); printf("lower('Hello World') = '%s'\n\n", low); printf("Testing strip:\n"); char *spaced = " Hello World "; char *stripped = strip(spaced); printf("strip(' Hello World ') = '%s'\n\n", stripped); printf("Testing replace:\n"); char *replaced = replace(text, "World", "Python"); printf("replace('Hello World', 'World', 'Python') = '%s'\n", replaced); char *replaced2 = replace("aaa bbb aaa", "aaa", "xxx"); printf("replace('aaa bbb aaa', 'aaa', 'xxx') = '%s'\n\n", replaced2); printf("Testing startswith:\n"); if (startswith(text, "Hello")) { printf("'Hello World' starts with 'Hello': true\n"); } if (startswith(text, "World")) { printf("'Hello World' starts with 'World': true\n"); } else { printf("'Hello World' starts with 'World': false\n"); } printf("\nTesting endswith:\n"); if (endswith(text, "World")) { printf("'Hello World' ends with 'World': true\n"); } if (endswith(text, "Hello")) { printf("'Hello World' ends with 'Hello': true\n"); } else { printf("'Hello World' ends with 'Hello': false\n"); } printf("\nTesting slicing [start:end]:\n"); char *str = "Python Programming"; char *slice1 = str[0:6]; printf("'Python Programming'[0:6] = '%s'\n", slice1); char *slice2 = str[7:18]; printf("'Python Programming'[7:18] = '%s'\n", slice2); char *slice3 = str[7:11]; printf("'Python Programming'[7:11] = '%s'\n", slice3); printf("\nCombining operations:\n"); char *combined = upper(str[0:6]); printf("upper('Python Programming'[0:6]) = '%s'\n", combined); char *chain = replace(lower("HELLO WORLD"), "world", "python"); printf("replace(lower('HELLO WORLD'), 'world', 'python') = '%s'\n", chain); return 0; }