#include FILE *infile; void wrap() { int n; char *buf=(char*)malloc(81); while (!feof(infile)) { fgets(buf, 80, infile); n=strlen(buf); if (n>78) { n--; while (buf[n]!=' ') { ungetc(buf[n--], infile); } buf[n]='\n'; buf[n+1]='\0'; } printf("%s", buf); } free(buf); } main(int argc, char *argv[]) { infile=fopen(argv[1], "r"); wrap(); fclose(infile); }