Pre-requisite: Basics of File Handling in C
Given a text file in a directory, the task is to print all the odd line content of the file first then print all the even line content.
Examples:
Input: file1.txt:
Welcome
to
GeeksforGeeks
Output:
Odd line contents:
Welcome
GeeksforGeeks
Even line contents:
to
Input: file1.txt:
1. This is Line1.
2. This is Line2.
3. This is Line3.
4. This is Line4.
Output:
Odd line contents:
1. This is Line1.
3. This is Line3.
Even line contents:
2. This is Line2.
4. This is Line4.
Approach:
Below is the implementation of the above approach:
// C program for the above approach #include // Function which prints the file content // in Odd Even manner void printOddEvenLines(char x[]) { // Opening the path entered by user FILE* fp = fopen(x, "a+"); // If file is null, then return if (!fp) { printf("Unable to open/detect file"); return; } // Insert a new line at the end so // that output doesn't get effected fprintf(fp, "\n"); // fseek() function to move the // file pointer to 0th position fseek(fp, 0, 0); int check = 0; char buf[100]; // Print Odd lines to stdout while (fgets(buf, sizeof(buf), fp)) { // If check is Odd, then it is // odd line if (!(check % 2)) { printf("%s", buf); } check++; } check = 1; // fseek() function to rewind the // file pointer to 0th position fseek(fp, 0, 0); // Print Even lines to stdout while (fgets(buf, sizeof(buf), fp)) { if (!(check % 2)) { printf("%s", buf); } check++; } // Close the file fclose(fp); return; } // Driver Code int main() { // Input filename char x[] = "file1.txt"; // Function Call printOddEvenLines(x); return 0; }
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.