int getop(char str[]) { int i, c, cmd; if (line_i == 0) { mgetline(line); } /* skip ' ' and '\t' */ while((c=line[line_i++]) != '\0') { if (c != ' ' && c != '\t') { break; } } /* not a number */ if(isdigit(c) == 0 && c != '.') { if (c == '-') { if (isdigit(line[line_i]) == 0) { return '-'; } } else { if (parse_var(c) == VAR) { str[0] = c; str[1] = '\0'; return VAR; } if ((cmd = parse_cmd(c)) != NONECMD) { return cmd; } else { if (c == '\n') { line_i = 0; } return c; } } } /* put number into str */ line[--line_i] = c; i = 0; while((c=line[line_i++]) != EOF) { if (isdigit(c) || c == '.' || c == '-') { str[i++] = c; } else { break; } } str[i] = '\0'; line[--line_i] = c; return NUMBER; }
int main() { int len; int max; char line[MAXLINE]; char longest[MAXLINE]; max = 0; while ((len = mgetline(line, MAXLINE)) > 0) if (len > max) { max = len; copy(longest, line); } if (max > 0) printf("%d: %s", max, longest); return 0; }
int readlines(char *lineptr[],int maxlines) { int len,nlines; char *p,line[MAXLEN]; nlines = 0; while((len=mgetline(line,MAXLEN))>0) if(nlines >= maxlines || (p=alloc(len)) == NULL) return -1; else { line[len-1]='\0'; /* delete newline */ strcpy(p,line); lineptr[nlines++]=p; } return nlines; }
int readlines(char *lineptr[], char *buff, int maxlines) { int len, nlines; char *p, line[MAXLEN]; nlines = 0; p = buff; while ((len = mgetline(line, MAXLEN)) > 0) { if (nlines >= maxlines) { return -1; } else { line[len - 1] = '\0'; strcpy(p, line); lineptr[nlines++] = p; p += MAXLEN; } } return nlines; }
int main(void) { int len,max; char line[MAXLINE],maxline[MAXLINE]; max =0; while((len=mgetline(line,MAXLINE)) > 0) { if(len > max) { max = len; copy(maxline,line); } } if(max>0) printf("%s",maxline); }
/* readlines: read input lines */ int readlines(char *lineptr[],char *linestor,int maxlines) { int len,nlines; char line[MAXLEN]; char *p = linestor; char *linestop = linestor + MAXSTOR; nlines=0; while((len=mgetline(line,MAXLEN)) > 0) if(nlines >= maxlines || p+len > linestop) return -1; else { line[len-1] = '\0'; strcpy(p,line); lineptr[nlines++]=p; p+=len; } return nlines; }
int main(int argc, char const *argv[]) { int len; int max; char line[MAXLINE]; char longest[MAXLINE]; max = 0; while((len = mgetline(line, MAXLINE)) > 0){ if(len > max){ max = len; mcopy(longest, line); } } if(max > 0) printf("%s", longest); return 0; }