w3resource

C Exercises: Append multiple lines at the end of a text file

C File Handling : Exercise-10 with Solution

Write a program in C to append multiple lines at the end of a text file.

Assume that the content of the file test.txt is :                                                                       
test line 1                                                                                                   
test line 2                                                                                                   
test line 3                                                                                                   
test line 4                                                                                                   

Sample Solution:

C Code:

#include <stdio.h>

int main ()
{
  FILE * fptr;
  int i,n;
  char str[100];
  char fname[20];
  char str1;
  
	printf("\n\n Append multiple lines at the end of a text file :\n");
	printf("------------------------------------------------------\n"); 
	printf(" Input the file name to be opened : ");
	scanf("%s",fname);		
    fptr = fopen(fname, "a"); 
    printf(" Input the number of lines to be written : ");
    scanf("%d", &n);
    printf(" The lines are : \n");  
    for(i = 0; i < n+1;i++)
    {
    fgets(str, sizeof str, stdin);
    fputs(str, fptr);
  }
  fclose (fptr);
//----- Read the file after appended ------- 
	fptr = fopen (fname, "r");  
	printf("\n The content of the file %s is  :\n",fname);
	str1 = fgetc(fptr);
	while (str1 != EOF)
		{
			printf ("%c", str1);
			str1 = fgetc(fptr);
		}
    printf("\n\n");
    fclose (fptr);
//------- End of reading ------------------
  return 0;
}

Sample Output:

 Append multiple lines at the end of a text file :                                                            
------------------------------------------------------                                                        
 Input the file name to be opened : test.txt                                                                  
 Input the number of lines to be written : 3                                                                  
 The lines are :                                                                                              
test line 5                                                                                                   
test line 6                                                                                                   
test line 7                                                                                                   
                                                                                                              
 The content of the file test.txt is  :                                                                       
                                                                                                              
test line 1                                                                                                   
test line 2                                                                                                   
test line 3                                                                                                   
test line 4                                                                                                   
                                                                                                              
test line 5                                                                                                   
test line 6                                                                                                   
test line 7 

Flowchart:

Flowchart: Append multiple lines at the end of a text file

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a program in C to replace a specific line with another text in a file.
Next: Write a program in C to copy a file in another name.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

What is the size of an enum in c?

An enum is only guaranteed to be large enough to hold int values. The compiler is free to choose the actual type used based on the enumeration constants defined so it can choose a smaller type if it can represent the values you define. If you need enumeration constants that don't fit into an int you will need to use compiler-specific extensions to do so.

Ref : https://bit.ly/3ypg4k8