Set up a LUI to interact with the TString object. Refactored some code and improved the string capcity growth algorithm.

This commit is contained in:
2022-07-03 00:59:02 -05:00
parent 338835b998
commit 053f0ea584
2 changed files with 97 additions and 49 deletions
+65 -24
View File
@@ -9,36 +9,77 @@
// const unsigned char Four = 0xF7;
int main(int argc, char** argv) {
char input[1024] = { 0 };
char glyph[8] = { 0 };
char characters[8] = { 42 };
// char characters[8] = { 42 };
// int index = 2;
// TString* string = TStringCreate();
// //0xF0 0xA0 0xBA 0x8C
// char* test = u8"\xE5\x87\x84";
// char* test2 = u8"\xE3\x81\x84";
// char* test4 = u8"\xF0\xA0\xBA\x8C";
// char* test5 = "B";
// //char* test3 = " Just some extra texts";
// TStringAppendText(test, string);
// TStringAppendText(test2, string);
// TStringAppendText(test4, string);
// //TStringAppendText(test5, string);
// //TStringAppendText(test3, string);
// //TStringGetGlyph(index, characters, string);
// TStringGetGlyph(3, glyph, string);
// //TStringPrintDetails(string);
// TStringInsertText("END", 2, string);
// TStringPrintDetails(string);
// TStringPop(glyph, string);
// printf("%s\n", glyph);
// TStringPrintDetails(string);
// TStringPop(glyph, string);
// TStringPrintDetails(string);
// printf("%s\n", glyph);
int index = 2;
TString* string = TStringCreate();
//0xF0 0xA0 0xBA 0x8C
char* test = u8"\xE5\x87\x84";
char* test2 = u8"\xE3\x81\x84";
char* test4 = u8"\xF0\xA0\xBA\x8C";
char* test5 = "B";
//char* test3 = " Just some extra texts";
TStringAppendText(test, string);
TStringAppendText(test2, string);
TStringAppendText(test4, string);
//TStringAppendText(test5, string);
//TStringAppendText(test3, string);
while(1) {
printf("> ");
fgets(input, sizeof input, stdin);
//TStringGetGlyph(index, characters, string);
TStringGetGlyph(3, glyph, string);
//TStringPrintDetails(string);
TStringInsertText("END", 2, string);
TStringPrintDetails(string);
TStringPop(glyph, string);
printf("%s\n", glyph);
TStringPrintDetails(string);
TStringPop(glyph, string);
TStringPrintDetails(string);
printf("%s\n", glyph);
input[strlen(input) - 1] = '\0';
if (input[0] == 'q') break;
if (input[0] == 'p') {
TStringPrintDetails(string);
continue;
}
if (input[0] == 'i') {
printf("Select index: ");
fgets(input, sizeof input, stdin);
int num = strtol(input, NULL, 10);
printf("Enter text to insert at index %d: ", num);
fgets(input, sizeof input, stdin);
input[strlen(input) - 1] = '\0';
TStringInsertText(input, num, string);
continue;
}
if (input[0] == 'r') {
TStringPop(glyph, string);
printf("Popped '%s'\n", glyph);
continue;
}
TStringAppendText(input, string);
}
//fgets(glyph, 10, stdin);
//glyph[strlen(glyph) - 1] = 0;