×
Namespaces

Variants
Actions

Reading and writing text files in Open C++

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Tested with
Devices(s): Nokia 6220 Classic
Compatibility
Platform(s): S60 3rd Edition, FP2
Article
Keywords: fstream, ifstream, ofstream, ifstream::get(), ifstream::getline(), ofstream::put(), fstream::seekg(), fstream::is_open()
Created: aknyman (24 Sep 2008)
Last edited: lpvalente (26 Oct 2012)

Contents

Overview

This code snippet shows how to use Open C++ file I/O classes for text file read and write operations. In this case, a text file is considered to be a file that stores words and sentences in readable plain text. The stream class fstream can be used for both read and write file I/O operations. Ifstream is only capable of file read operations and ofstream is only capable of file write operations. A header file <fstream> must be included in the application before these classes can be used. Reading and writing text files is possible with the extraction (<<) and the insertion (>>) operators and methods like put(), get(), and getline().

Note: In order to use this code, you need to install the Open C/C++ plug-in.

This snippet can be self-signed.

MMP file

The following libraries are required:

STATICLIBRARY libcrt0.lib
 
LIBRARY libstdcpp.lib
LIBRARY libc.lib
LIBRARY euser.lib


Source file

#include <fstream>  //fstream, ifstream, ofstream
#include <string> //string, getline()
#include <iostream> //cout
 
using namespace std;
 
void simple_write_example()
{
ofstream file;
 
char line [] = "Text To File";
string str = "Hello";
 
//default open mode is a text mode,
//a new file is created if a file does not exist
//if a path is not given the applications's \private folder is used
file.open("simple.txt"); //ios::out | ios::trunc
 
file << line << endl;
 
file.put('A') ;
 
file << 1;
 
file << str;
 
//close the file
file.close();
}
 
void simple_read_example()
{
ifstream file;
 
char line [20];
char chr = ' ';
int num = 0;
string str = "";
 
file.open("simple.txt"); //ios::in
 
//getline has an optional third argument (character)
//that will end getline's input, the default value is '\n'
file.getline(line, 20);
 
file.get(chr); // or file >> chr;
 
file >> num;
 
file >> str;
 
cout << "line:"<< line << endl;
cout << "chr:" << chr << endl;
cout << "num:" << num << endl;
cout << "str:"<< str << endl;
 
file.close();
}
 
 
void simple_read_and_write_example()
{
fstream file;
string line;
 
//fstream provides attributes which define
//how a file should be opened:
//app = 0x01 - append to the end of a file
//ate = 0x02 - place the file marker at the end of the file
//binary = 0x04 - open as a binary file
//in = 0x08 - open file for reading
//out = 0x10 - open file for writing
//trunc = 0x20 - truncate an existing file and overwrite (default)
file.open("simple.txt", ios::in | ios::out);
 
//write to text file
file << "This is a line 1" << endl;
file << "This is a line 2" << endl;
 
//fstream works with read and write file pointers,
//by moving these pointers it is possible to access any part of
//the file at random - seekg() moves the read pointer and
//seekp() moves the write pointer
 
//seek attributes:
//ios::beg - beginning of the file
//ios::end - end of the file
//ios::cur - current location of the file
file.seekg(0,ios::beg);
 
//read text from file
if (file.is_open())
{
while (!file.eof())
{
getline(file, line);
cout << line << endl;
}
}
 
file.close();
}
 
int main()
{
//using class ofstream
simple_write_example();
 
//using class ifstream
simple_read_example();
 
//using class fstream
simple_read_and_write_example();
 
return 0;
}


Postconditions

The Open C++ I/O classes fstream, ifstream, and ofstream are used to read and write text from/to the created file simple.txt. Content of the file is displayed as standard output.

See also

This page was last modified on 26 October 2012, at 20:05.
396 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×