Start Reading at the Beginnning of a File Again in C
C File management
A File can be used to store a big book of persistent data. Similar many other languages 'C' provides following file direction functions,
- Cosmos of a file
- Opening a file
- Reading a file
- Writing to a file
- Closing a file
Following are the most important file management functions available in 'C,'
function | purpose | |
---|---|---|
fopen () | Creating a file or opening an existing file | |
fclose () | Closing a file | |
fprintf () | Writing a cake of data to a file | |
fscanf () | Reading a block data from a file | |
getc () | Reads a unmarried character from a file | |
putc () | Writes a single character to a file | |
getw () | Reads an integer from a file | |
putw () | Writing an integer to a file | |
fseek () | Sets the position of a file pointer to a specified location | |
ftell () | Returns the current position of a file pointer | |
rewind () | Sets the file pointer at the beginning of a file |
In this tutorial, yous volition learn-
- How to Create a File
- How to Close a file:
- Writing to a File
- fputc() Function:
- fputs () Function:
- fprintf()Function:
- Reading information from a File
- Interactive File Read and Write with getc and putc
How to Create a File
Whenever you want to piece of work with a file, the first step is to create a file. A file is nil but space in a retention where data is stored.
To create a file in a 'C' program following syntax is used,
FILE *fp; fp = fopen ("file_name", "mode");
In the above syntax, the file is a data structure which is divers in the standard library.
fopen is a standard office which is used to open a file.
- If the file is not present on the arrangement, then it is created and then opened.
- If a file is already present on the organisation, then it is directly opened using this part.
fp is a file pointer which points to the type file.
Whenever you lot open or create a file, yous take to specify what you are going to do with the file. A file in 'C' programming can be created or opened for reading/writing purposes. A mode is used to specify whether you desire to open up a file for whatsoever of the below-given purposes. Post-obit are the different types of modes in 'C' programming which can exist used while working with a file.
File Mode | Description |
---|---|
r | Open a file for reading. If a file is in reading fashion, then no data is deleted if a file is already nowadays on a arrangement. |
westward | Open a file for writing. If a file is in writing mode, then a new file is created if a file doesn't exist at all. If a file is already present on a system, then all the information inside the file is truncated, and it is opened for writing purposes. |
a | Open a file in append mode. If a file is in suspend mode, and then the file is opened. The content within the file doesn't change. |
r+ | open for reading and writing from beginning |
westward+ | open for reading and writing, overwriting a file |
a+ | open for reading and writing, appending to file |
In the given syntax, the filename and the style are specified as strings hence they must always be enclosed inside double quotes.
Instance:
#include <stdio.h> int main() { FILE *fp; fp = fopen ("data.txt", "w"); }
Output:
File is created in the aforementioned binder where you have saved your code.
You lot can specify the path where y'all want to create your file
#include <stdio.h> int main() { FILE *fp; fp = fopen ("D://data.txt", "due west"); }
How to Shut a file
One should always close a file whenever the operations on file are over. It means the contents and links to the file are terminated. This prevents adventitious damage to the file.
'C' provides the fclose function to perform file closing operation. The syntax of fclose is every bit follows,
fclose (file_pointer);
Instance:
FILE *fp; fp = fopen ("data.txt", "r"); fclose (fp);
The fclose function takes a file pointer as an statement. The file associated with the file pointer is and so airtight with the assistance of fclose function. It returns 0 if close was successful and EOF (finish of file) if in that location is an error has occurred while file endmost.
After closing the file, the same file arrow can also be used with other files.
In 'C' programming, files are automatically close when the program is terminated. Endmost a file manually by writing fclose office is a good programming exercise.
Writing to a File
In C, when you write to a file, newline characters '\due north' must be explicitly added.
The stdio library offers the necessary functions to write to a file:
- fputc(char, file_pointer): It writes a character to the file pointed to by file_pointer.
- fputs(str, file_pointer): Information technology writes a cord to the file pointed to by file_pointer.
- fprintf(file_pointer, str, variable_lists): It prints a string to the file pointed to by file_pointer. The string can optionally include format specifiers and a list of variables variable_lists.
The program below shows how to perform writing to a file:
fputc() Role:
#include <stdio.h> int main() { int i; FILE * fptr; char fn[l]; char str[] = "Guru99 Rocks\n"; fptr = fopen("fputc_test.txt", "westward"); // "w" defines "writing manner" for (i = 0; str[i] != '\n'; i++) { /* write to file using fputc() role */ fputc(str[i], fptr); } fclose(fptr); return 0; }
Output:
The in a higher place program writes a single grapheme into the fputc_test.txt file until information technology reaches the next line symbol "\n" which indicates that the sentence was successfully written. The procedure is to take each character of the array and write it into the file.
- In the above plan, we have created and opened a file called fputc_test.txt in a write way and declare our cord which volition exist written into the file.
- We do a character past character write performance using for loop and put each character in our file until the "\n" character is encountered then the file is airtight using the fclose function.
fputs () Function:
#include <stdio.h> int main() { FILE * fp; fp = fopen("fputs_test.txt", "w+"); fputs("This is Guru99 Tutorial on fputs,", fp); fputs("We don't need to use for loop\n", fp); fputs("Easier than fputc office\n", fp); fclose(fp); return (0); }
OUTPUT:
- In the above program, we take created and opened a file called fputs_test.txt in a write fashion.
- Afterwards nosotros practise a write performance using fputs() office by writing iii unlike strings
- Then the file is closed using the fclose part.
fprintf()Function:
#include <stdio.h> int master() { FILE *fptr; fptr = fopen("fprintf_test.txt", "w"); // "west" defines "writing mode" /* write to file */ fprintf(fptr, "Learning C with Guru99\n"); fclose(fptr); return 0; }
OUTPUT:
- In the above program we have created and opened a file called fprintf_test.txt in a write mode.
- Afterward a write operation is performed using fprintf() role by writing a cord, and then the file is closed using the fclose function.
Reading data from a File
At that place are three different functions dedicated to reading data from a file
- fgetc(file_pointer): It returns the next graphic symbol from the file pointed to by the file pointer. When the cease of the file has been reached, the EOF is sent dorsum.
- fgets(buffer, north, file_pointer): It reads n-one characters from the file and stores the string in a buffer in which the Null character '\0' is appended as the last character.
- fscanf(file_pointer, conversion_specifiers, variable_adresses): Information technology is used to parse and analyze information. It reads characters from the file and assigns the input to a list of variable pointers variable_adresses using conversion specifiers. Keep in mind that as with scanf, fscanf stops reading a string when space or newline is encountered.
The following program demonstrates reading from fputs_test.txt file using fgets(),fscanf() and fgetc () functions respectively :
#include <stdio.h> int main() { FILE * file_pointer; char buffer[30], c; file_pointer = fopen("fprintf_test.txt", "r"); printf("----read a line----\n"); fgets(buffer, l, file_pointer); printf("%s\n", buffer); printf("----read and parse information----\n"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer char str1[10], str2[2], str3[twenty], str4[2]; fscanf(file_pointer, "%south %s %s %south", str1, str2, str3, str4); printf("Read String1 |%due south|\n", str1); printf("Read String2 |%s|\n", str2); printf("Read String3 |%s|\due north", str3); printf("Read String4 |%s|\north", str4); printf("----read the entire file----\northward"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer while ((c = getc(file_pointer)) != EOF) printf("%c", c); fclose(file_pointer); render 0; }
Result:
----read a line---- Learning C with Guru99 ----read and parse data---- Read String1 |Learning| Read String2 |C| Read String3 |with| Read String4 |Guru99| ----read the unabridged file---- Learning C with Guru99
- In the above plan, we have opened the file called "fprintf_test.txt" which was previously written using fprintf() part, and it contains "Learning C with Guru99" string. We read information technology using the fgets() function which reads line by line where the buffer size must exist enough to handle the entire line.
- We reopen the file to reset the pointer file to signal at the beginning of the file. Create diverse strings variables to handle each give-and-take separately. Impress the variables to see their contents. The fscanf() is mainly used to extract and parse data from a file.
- Reopen the file to reset the pointer file to point at the beginning of the file. Read information and impress information technology from the file graphic symbol by character using getc() function until the EOF statement is encountered
- After performing a reading operation file using unlike variants, we over again airtight the file using the fclose function.
Interactive File Read and Write with getc and putc
These are the simplest file operations. Getc stands for get character, and putc stands for put grapheme. These 2 functions are used to handle only a single character at a time.
Post-obit plan demonstrates the file treatment functions in 'C' programming:
#include <stdio.h> int main() { FILE * fp; char c; printf("File Handling\n"); //open up a file fp = fopen("demo.txt", "west"); //writing operation while ((c = getchar()) != EOF) { putc(c, fp); } //close file fclose(fp); printf("Information Entered:\northward"); //reading fp = fopen("demo.txt", "r"); while ((c = getc(fp)) != EOF) { printf("%c", c); } fclose(fp); render 0; }
Output:
- In the above program we take created and opened a file called demo in a write mode.
- Later on a write operation is performed, then the file is closed using the fclose function.
- We have again opened a file which now contains data in a reading style. A while loop will execute until the eof is found. Once the end of file is constitute the operation will be terminated and data will be displayed using printf part.
- Subsequently performing a reading operation file is again airtight using the fclose function.
Summary
- A file is a space in a retentiveness where data is stored.
- 'C' programming provides various functions to bargain with a file.
- A mechanism of manipulating with the files is chosen equally file management.
- A file must exist opened before performing operations on it.
- A file tin can be opened in a read, write or an append mode.
- Getc and putc functions are used to read and write a single graphic symbol.
- The function fscanf() permits to read and parse data from a file
- We can read (using the getc function) an entire file by looping to cover all the file until the EOF is encountered
- Nosotros can write to a file subsequently creating its name, by using the function fprintf() and it must have the newline character at the end of the cord text.
Source: https://www.guru99.com/c-file-input-output.html
0 Response to "Start Reading at the Beginnning of a File Again in C"
Postar um comentário