In this guide, you will learn what is fscanf() function is in C++ programming and how to use it with an example.
1. fscanf() Function Overview
The fscanf() function is part of the <cstdio> library in C++. It allows for formatted input from a specified stream, typically used for reading formatted data from files. It's analogous to the scanf() function, but instead of reading from the standard input, it reads from a given file stream.
Signature:
int fscanf(FILE* stream, const char* format, ...);
Parameters:
- stream: Pointer to the file stream from which the formatted input should be read.
- format: A string that specifies how the subsequent arguments are interpreted during input.
- ...: Variable number of arguments that will store the values read from the stream according to the format string.
2. Source Code Example
#include <iostream> #include <cstdio> int main() { FILE* pFile = fopen("example.txt", "r"); if (pFile == nullptr) { std::cerr << "Error opening file." << std::endl; return 1; } // Read formatted data from the file int age; char name[50]; fscanf(pFile, "Name: %49s\nAge: %d", name, &age); // Close the file fclose(pFile); std::cout << "Read from the file: Name = " << name << ", Age = " << age << std::endl; return 0; }
Output:
(Considering "example.txt" has the content: Name: JohnDoe Age: 25 ) Read from the file: Name = JohnDoe, Age = 25
3. Explanation
1. We first open a file named "example.txt" in read mode.
2. The fscanf() function is then used to read a formatted string from the pFile stream. The %s format specifier reads the string into name, and the %d format specifier reads the integer into age.
3. Finally, the file is closed using fclose().
Comments
Post a Comment