C-Wrap very long lines of input into two or more shorter lines
阿新 • • 發佈:2021-01-28
技術標籤:CCwrap long lines
分享一個大牛的人工智慧教程。零基礎!通俗易懂!風趣幽默!希望你也加入到人工智慧的隊伍中來!請點選http://www.captainbed.net
/* * Write a program that wraps very long lines of input into two or more shorter lines. * * WrapLine.c - by FreeMan */ #include <stdio.h> #define MAXLINE 1024 /* max input line size */ char line[MAXLINE]; /* current input line */ int getline(void); int main() { int i, len; int location, spaceholder; const int WRAPLENGTH = 80; /* the max length of a line */ while ((len = getline()) > 0) { if (len < WRAPLENGTH) { } else /* if this is an extra long line then we loop through it replacing a space nearest to the wrap area with a new line*/ { i = 0; location = 0; while (i < len) { if (line[i] == ' ') { spaceholder = i; } if (location == WRAPLENGTH) { line[spaceholder] = '\n'; location = 0; } location++; i++; } } printf("%s", line); } return 0; } /* getline: specialized version */ int getline(void) { int c, i; extern char line[]; for (i = 0; i < MAXLINE - 1 && (c = getchar()) != EOF && c != '\n'; ++i) { line[i] = c; } if (c == '\n') { line[i] = c; ++i; } line[i] = '\0'; return i; }