diff options
| author | Hyder Hadi <hyder@hyderhadi.xyz> | 2026-05-04 18:18:45 +0300 |
|---|---|---|
| committer | Hyder Hadi <hyder@hyderhadi.xyz> | 2026-05-04 18:18:45 +0300 |
| commit | 390e72011a130eece804499b3f64fc0f4f29da94 (patch) | |
| tree | 079ba242a3c028d8179692e97b427118e1ccaff5 | |
| parent | 781eb09f68f88b1c0de1954afafa2d81a61f653c (diff) | |
Finished writing the loop and the Echo function is ready :D
| -rw-r--r-- | simple-C-programs/DynamicString.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/simple-C-programs/DynamicString.c b/simple-C-programs/DynamicString.c index 9141dba..c2dd729 100644 --- a/simple-C-programs/DynamicString.c +++ b/simple-C-programs/DynamicString.c @@ -14,12 +14,29 @@ int main() { Dynamic_string = malloc(string_length); int input; + int ch_count = 0; while((input = getchar()) != '\n' && input != EOF) { - - } + Dynamic_string[ch_count] = input; + ch_count++; + + if(ch_count > (string_length - 5)) { + string_length *= 2; + char *tmp = realloc(Dynamic_string, string_length); + if(!tmp) { + printf("Allocation failed!\n"); + free(Dynamic_string); + return 0; + } + Dynamic_string = tmp; + + } + } + Dynamic_string[ch_count] = '\0'; + printf("%s\n", Dynamic_string); + free(Dynamic_string); return 0; }
\ No newline at end of file |
