Replacing a line from a file || File handling || C programming
In this program, we are going to Replace a line from a file with the help of C Programming Language.

 

#include <stdio.h>
#include <string.h>
#define MAX 256
int main()
{
    FILE *fptr1, *fptr2;
    int lno, linectr = 0;
    char str[MAX], fname[MAX];
    char newln[MAX], temp[] = "temp.txt";
    printf(" Enter the file name : ");
    fgets(fname, MAX, stdin);
    fname[strlen(fname) - 1] = '\0';
    fptr1 = fopen(fname, "r");
    if (!fptr1)
    {
        printf("Invalid filename\n");
        return 0;
    }
    fptr2 = fopen(temp, "w");
    if (!fptr2)
    {
        printf("Unable to open a temporary file to write!!\n");
        fclose(fptr1);
        return 0;
    }
    printf("Enter what you want to write in a new line");
    fgets(newln, MAX, stdin);
    printf("Enter the line number to replace");
    scanf("%d", &lno);
    lno++;
    while (!feof(fptr1))
    {
        strcpy(str, "\0");
        fgets(str, MAX, fptr1);
        if (!feof(fptr1))
        {
            linectr++;
            if (linectr != lno)
            {
                fprintf(fptr2, "%s", str);
            }
            else
            {
                fprintf(fptr2, "%s", newln);
            }
        }
    }
    fclose(fptr1);
    fclose(fptr2);
    remove(fname);
    rename(temp, fname);
    printf("Line Replaced\n");
    return 0;
}

#ENJOY CODING

Post a Comment

FOR ANY DOUBTS AND ERRORS FEEL FREE TO ASK. YOUR DOUBTS WILL BE ADDRESSED ASAP

Previous Post Next Post