'Move file pointer to the end
I am trying to make a students details record program in c wherein I will store all the data in a file. I will provide the user with options such as entering a new record , display , etc. How can i make the user input to be copied at the next line of the file?
Example :
current file -->
Akshat 15 96
Roy 57 67
user input -->
John as name
33 as USN
87 as marks
final file output
Akshat 15 96
Roy 57 67
John 33 87
Solution 1:[1]
You can open the file with append:
file = fopen("myfile.txt", "a");
Then write a newline and your text and close it.
Solution 2:[2]
Try to open the file with "a" mode, example: file=fopen("FileName.dat","a");
and then fill it normally by reading the inputs from the user and then write them in your file:
example:
#include <stdio.h>
typedef struct {
  char name[60];
  int age;
}E;
E temp;
/*lets say that the file is already filled and you want to append more data to it*/
int main (void) {
  FILE *file;
  file=fopen("FileName.dat","a");
  scanf("%s",temp.name);
  scanf("%d",&temp.age);
  //after you read the inputs from the user write the data into your file
  fwrite(&temp,sizeof(E),1,file);
  //dont forget to close the file
  fclose(file);
  return 0;
}
    					Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | Vincent Scharf | 
| Solution 2 | Med Rayan | 
