fork download
  1. #include <stdio.h>
  2.  
  3. #define BUFMAX 256
  4. #define CURLINE 0
  5. #define NEXTLINE 1
  6. #define TOGGLELINE (CURLINE ^ NEXTLINE)
  7.  
  8. int main ()
  9. {
  10. FILE* fp = stdin; // fopen("test-seeking.txt", "r");
  11.  
  12. char lineBuffer[2][BUFMAX];
  13. char* curLine;
  14. char* nextLine;
  15. int lineSel;
  16.  
  17. if (fp != NULL)
  18. {
  19. if ((curLine = fgets(lineBuffer[CURLINE], BUFMAX, fp)))
  20. {
  21. for (lineSel = NEXTLINE;
  22. (nextLine = fgets(lineBuffer[lineSel], BUFMAX, fp));
  23. lineSel ^= TOGGLELINE)
  24. {
  25. printf("Current line: \"%s\" / Next line \"%s\"\n",
  26. curLine, nextLine);
  27.  
  28. curLine = nextLine;
  29. }
  30. }
  31.  
  32. fclose(fp);
  33. }
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 9432KB
stdin
line 1
line 2
line 3
line 4
line 5
line 6
line 7
stdout
Current line: "line 1
" / Next line "line 2
"
Current line: "line 2
" / Next line "line 3
"
Current line: "line 3
" / Next line "line 4
"
Current line: "line 4
" / Next line "line 5
"
Current line: "line 5
" / Next line "line 6
"
Current line: "line 6
" / Next line "line 7"