有一道题,想了整整半天,还是没一点办法,求思路不求代码!
编写一个程序,一行行的读取输入行,直至到达文件尾,算出每行输入的长度,然后把最长的打印出来。(假设每行长度不超过1000个字符)求伪代码,思路。不要源代码代码。我刚学的,希望大师们指点一下,非常谢谢!
不要源代码,只求思路。谢谢!
#include <stdio.h> int main(int argc, char** argv) { int ch = 0; long int len = 0, max = 0, pos= 0; FILE *fp = NULL; if(argc != 2) return 1; if(!(fp = fopen(argv[1], "rb"))) return 1; while(!feof(fp)) { while((ch = getc(fp)) != '\n' && ch != EOF) len++; if(max < len) { max = len; pos = ftell(fp) - 1; } len = 0; } fseek(fp, pos, SEEK_SET); fseek(fp, -max, SEEK_CUR); while((ch = getc(fp)) != '\n' && ch != EOF) putchar(ch); fclose(fp); return 0; }