diff options
| author | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-11-20 21:08:03 +0800 |
|---|---|---|
| committer | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-11-20 21:08:03 +0800 |
| commit | e8064efb940701215fb9c0576c997a13e7b67feb (patch) | |
| tree | 4707b5dd609e67fd41b2c60c057340ccc44dcc14 /1/17.c | |
| parent | f04f83d462f8d11390332807966ba39bc5233ca3 (diff) | |
| download | k&r-exercises-e8064efb940701215fb9c0576c997a13e7b67feb.tar.gz | |
1.18
Diffstat (limited to '1/17.c')
| -rw-r--r-- | 1/17.c | 53 |
1 files changed, 0 insertions, 53 deletions
@@ -1,53 +0,0 @@ -#include <stdio.h> - -#define MAXLEN 1000 -#define TRUE 1 -#define FALSE 0 - -int getlineraw(char s[], int size); -void trim(char to[], char from[], int size); - -/* removes trailing blanks and tabs from input */ -int main(int argc, char *argv[]) { - int size; - char s[MAXLEN], trimmed[MAXLEN]; - - while ((size = getlineraw(s, MAXLEN)) > 0) { - trim(trimmed, s, size); - printf("%s\n", trimmed); - } - - if (size == -1) { - printf("exceeded max input size: %d\n", MAXLEN); - return 1; - } - - return 0; -} - -int getlineraw(char s[], int size) { - int c, i; - - for (i = 0; i < size - 1 && (c = getchar()) != EOF && c != '\n'; i++) - s[i] = c; - - return c != '\n' && c != EOF ? -1 : i; -} - -void trim(char to[], char from[], int size) { - int i, c, trimmed; - - trimmed = FALSE; - - for (i = size - 1; i >= 0; i--) { - if (!trimmed) { - c = from[i]; - if (c != ' ' && c != '\t') { - to[i] = c; - trimmed = TRUE; - } - } else { - to[i] = from[i]; - } - } -}
\ No newline at end of file |
