CS计算机代考程序代写 c++ File I/O in C++

File I/O in C++

Computer Programming

Outline

2

! Stream
! Open File
! File I/O
! Error Handling

File I/O vs. Console I/O

3

! ȾConsole” refers to “keyboard + screen”
! Keyboard input and screen output are volatile
! Input file can be used again and again
! Useful for debugging especially when volume of data

is huge
! Allow off-line processing
! Output file retains the results after execution

Basic I/O – Keyboard and Screen

4

! Program read input from keyboard (console) or disk storage (file)
and write data to screen (console ) or disk storage(file)

! Sequence of inputs is conceptually treated as an object called
“Stream”

! Stream – a flow (sequence) of data
! Input stream – a flow of data into your program
! Output stream – a flow of data out of your program

Streams

5

! Predefined console streams in C++
! #include
! cin : input stream physically linked to the keyboard
! cout: output stream physically linked to the screen

! File streams class in C++
! #include
! ifstream:stream class for file input
! ofstream:stream class for file output

! To declare an objects of class ifstream or ofstream, use
! ifstream fin; // fin is the variable name
! Ofstream fout;// fout is the variable name

ifstream

6

! To declare an ifsteam object
! ifstream fin;

! To open a file for reading
! fin.open(“infile.dat”);

! To read the file content
! fin >> x; //x is a variable

! To close the file
! fin.close();

ofstream

7

! To declare an ofsteam object
! ofstream fout;

! To open a file for writing
! fout.open(“myfile.dat”) ;

! To write something to the file
! fout << x; //x is a variable ! To close the file ! fout.close(); ! PS: fin.open() and fout.open() refer to different functions Examples 8 #include
using namespace std;
int main(){

ifstream fin;
ofstream fout;
int x,y,z;
fin.open(“input.txt”);
fout.open(“output.txt”);
fin >>x>>y>>z;
fout << “The sum is “<
#include
Using namespace std;

void main(){
ifstream in1, in2;

in1.open(“infile1.dat”);
in2.open(“infile2.dat”);
if (in1.fail()) {

cout << “Input file 1 opening failed.\n”; exit(1); // 1 stands for error } ... Detecting end-of-file (EOF) 13 ! Member function eof returns true if and only if we reach the end of the input file (no more data) ! Only for objects of class ifstream E.g. fin >> x;
if (!fin.eof()) …

! The expression fin >> x has value 0 if fin has no more
data
E.g. while (fin>> x)

{…}

Examples: file dump (integer only)

14

#include
#include
using namespace std;
void main(){

ifstream fin;
int x;
fin.open(“input.txt”);
while (!fin.eof()){

fin >> x;
cout <> and << ! Read: ! fin.get(): get a single character ! fin.getline(char str[], size): read the file line by line Examples: file dump (integer only) 16 #include
#include
using namespace std;
void main(){

ifstream fin;
int x;
fin.open(“input.txt”);
while (fin >> x){

cout < outfile1.dat

! in the command prompt, the output is written to the
file outfile1.dat instead of the screen

! Similarly, hello < infile1.dat specifies that the input is from infile1.dat instead keyboard