Create and Write to C Files

CCBeginner
Practice Now

Introduction

In this lab, you will learn how to create a new file in C programming language and write data to it. The FILE data type is used to represent a file in C, and the fopen() function is used to open a file for reading, writing, or appending. Once a file is opened, data can be written to it using the fprintf() function, and the fclose() function is used to close the file after writing data.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/data_types("Data Types") c/PointersandMemoryGroup -.-> c/pointers("Pointers") c/FileHandlingGroup -.-> c/write_to_files("Write To Files") c/FileHandlingGroup -.-> c/create_files("Create Files") c/FileHandlingGroup -.-> c/read_files("Read Files") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123319{{"Create and Write to C Files"}} c/data_types -.-> lab-123319{{"Create and Write to C Files"}} c/pointers -.-> lab-123319{{"Create and Write to C Files"}} c/write_to_files -.-> lab-123319{{"Create and Write to C Files"}} c/create_files -.-> lab-123319{{"Create and Write to C Files"}} c/read_files -.-> lab-123319{{"Create and Write to C Files"}} c/user_input -.-> lab-123319{{"Create and Write to C Files"}} c/output -.-> lab-123319{{"Create and Write to C Files"}} end

Create a new C program using the terminal

Open the terminal and create a new C program called main.c in the ~/project/ directory using the command:

nano ~/project/main.c

Include necessary header files

In the main.c file, include the necessary header files:

#include <stdio.h>
#include <stdlib.h>

Define variables and pointers

Define variables and pointer of type FILE to hold the file and its content:

FILE *fptr;
char name[20];
int age;
float salary;

Open a file for writing

Open a file for writing using the fopen() function. If the file does not exist, it will be created. Otherwise, its contents will be overwritten:

fptr = fopen("emp.txt", "w");
if (fptr == NULL)
{
    printf("File does not exist.\n");
    return 1;
}

Write data to the file

Ask the user to enter the employee's name, age, and salary, and write it to the file using the fprintf() function:

printf("Enter the name:\n");
scanf("%s", name);
fprintf(fptr, "Name  = %s\n", name);

printf("Enter the age:\n");
scanf("%d", &age);
fprintf(fptr, "Age  = %d\n", age);

printf("Enter the salary:\n");
scanf("%f", &salary);
fprintf(fptr, "Salary  = %.2f\n", salary);

Close the file

Close the file using the fclose() function:

fclose(fptr);

Complete the code

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fptr;
    char name[20];
    int age;
    float salary;

    // open for writing
    fptr = fopen("emp.txt", "w");
    if (fptr == NULL) {
        printf("File does not exist.\n");
        return 1;
    }

    printf("Enter the name:\n");
    scanf("%s", name);
    fprintf(fptr, "Name  = %s\n", name);

    printf("Enter the age:\n");
    scanf("%d", &age);
    fprintf(fptr, "Age  = %d\n", age);

    printf("Enter the salary:\n");
    scanf("%f", &salary);
    fprintf(fptr, "Salary  = %.2f\n", salary);

    fclose(fptr);
    return 0;
}

Summary

In this lab, you have learned how to create a new file in C programming language and write data to it using the FILE, fopen(), fprintf(), and fclose() functions. Remember to always close the file after writing data to it to avoid data loss.