From 66682d77d344ac0d40c780ea59efcfc3801a6985 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 2 Jan 2022 18:19:39 +0800 Subject: 5.7 --- 5/7.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 5/7.c (limited to '5') diff --git a/5/7.c b/5/7.c new file mode 100644 index 0000000..8c3697c --- /dev/null +++ b/5/7.c @@ -0,0 +1,41 @@ +#include +#include +#include + +#define MAXLEN 1000 +#define MAXLINES 5000 + +int readlines(char **lines, int maxlines); + +int main() { + int i, count; + char **lines; + + lines = malloc(sizeof(char *) * MAXLINES); + + for (i = 0; i < MAXLINES - 1; i++) + lines[i] = malloc(sizeof(char) * MAXLEN); + count = readlines(lines, MAXLINES); + + for (i = 0; i < count; i++) + printf("L%d: %s\n", i + 1, *lines++); + + return 0; +} + +int readlines(char **lines, int maxlines) { + int i, len; + char *s; + + for (i = 0; i <= maxlines; i++) { + s = fgets(s, MAXLEN, stdin); + if (!s) + return i; + len = strlen(s); + strncpy(*lines, s, len - 1); + *lines[len] = 0; + lines++; + } + + return i; +} \ No newline at end of file -- cgit v1.2.3