1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #define _GNU_SOURCE #include <iso646.h> // and #include <stdio.h> #include <stdlib.h> #include <string.h> // max number of characters in a line including '\n' and '\0' const size_t maxline = 16; int main() { FILE *fp = stdin; // read from stdin char line[maxline]; char *str = NULL, *s = NULL; for (int i = 1; fgets(line, maxline, fp) != NULL; ++i) { const size_t n = strlen(line) + 1; // +1 for '\0' if (n == maxline and (maxline < 2 or line[maxline-2] != '\n')) { fprintf(stderr, "error: line #%d is too long: %s", i, line); exit(EXIT_FAILURE); } // if line starts with "name" and '=' is in the string const char* name = "name"; if (strncmp(name, line, strlen(name)) == 0 and (s = strchr(line, '=')) != NULL) { str = strdup(s+1); // copy everything after the first '=' if (str == NULL) { perror("strdup"); exit(EXIT_FAILURE); } printf("line #%d: name: %s", i, str); break; } } // do other stuff with `str` here // ... free(str); } |
I2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8aXNvNjQ2Lmg+IC8vIGFuZAojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgovLyBtYXggbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gYSBsaW5lIGluY2x1ZGluZyAnXG4nIGFuZCAnXDAnCmNvbnN0IHNpemVfdCBtYXhsaW5lID0gMTY7CgppbnQgbWFpbigpIHsKIEZJTEUgKmZwID0gc3RkaW47IC8vIHJlYWQgZnJvbSBzdGRpbgogY2hhciBsaW5lW21heGxpbmVdOwogY2hhciAqc3RyID0gTlVMTCwgKnMgPSBOVUxMOwogZm9yIChpbnQgaSA9IDE7IGZnZXRzKGxpbmUsIG1heGxpbmUsIGZwKSAhPSBOVUxMOyArK2kpIHsKICAgY29uc3Qgc2l6ZV90IG4gPSBzdHJsZW4obGluZSkgKyAxOyAvLyArMSBmb3IgJ1wwJwogICBpZiAobiA9PSBtYXhsaW5lIGFuZCAobWF4bGluZSA8IDIgb3IgbGluZVttYXhsaW5lLTJdICE9ICdcbicpKSB7CiAgICAgZnByaW50ZihzdGRlcnIsICJlcnJvcjogbGluZSAjJWQgaXMgdG9vIGxvbmc6ICVzIiwgaSwgbGluZSk7CiAgICAgZXhpdChFWElUX0ZBSUxVUkUpOwogICB9CiAgIC8vIGlmIGxpbmUgc3RhcnRzIHdpdGggIm5hbWUiIGFuZCAnPScgaXMgaW4gdGhlIHN0cmluZwogICBjb25zdCBjaGFyKiBuYW1lID0gIm5hbWUiOwogICBpZiAoc3RybmNtcChuYW1lLCBsaW5lLCBzdHJsZW4obmFtZSkpID09IDAgYW5kCiAgICAgICAocyA9IHN0cmNocihsaW5lLCAnPScpKSAhPSBOVUxMKSB7CiAgICAgc3RyID0gc3RyZHVwKHMrMSk7IC8vIGNvcHkgZXZlcnl0aGluZyBhZnRlciB0aGUgZmlyc3QgJz0nCiAgICAgIGlmIChzdHIgPT0gTlVMTCkgewogICAgICAgIHBlcnJvcigic3RyZHVwIik7CiAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOwogICAgICB9CiAgICAgIHByaW50ZigibGluZSAjJWQ6IG5hbWU6ICVzIiwgaSwgc3RyKTsKICAgICAgYnJlYWs7CiAgIH0KIH0KIC8vIGRvIG90aGVyIHN0dWZmIHdpdGggYHN0cmAgaGVyZQogLy8gLi4uCiBmcmVlKHN0cik7Cn0=
-
upload with new input
-
result: Success time: 0.02s memory: 1856 kB returned value: 0
1 2 3 4 name=Meli She; 6 7 8 9 loooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line
line #5: name: Meli She;


