收藏+原创
//awzzz@2002
//入门计划->使用(C++库)ifstream读文件数据
//APO->using ifstream.
//accidence project of using ifstream.(c++ iostream library)
/*
Reference: http://www.cplusplus.com/ref/iostream/ifstream/
Description
ifstream class provides a stream interface to read data from files.
The class mantains internally (privately) a pointer to a filebuf object
in charge of the interaction with the file. This pointer can be
obtained/modified by calling member rdbuf.
The file to be processed can be specified as a parameter for the
constructor or by calling member open.
After a file is processed it can be closed by calling member close.
In this case the file stream may be used to open another file.
Member is_open can be used to determine wether the stream is currently
operating on a file or not.
Please refer to parent classes for more details on information mantained
by an ifstream object.
*/
//使用(C++库)ifstream读文件数据
//simple example
#include <iostream>
#include <fstream>
using namespace std;
#ifdef WIN32
#define TEST_FILE "c:\\tmp\\test.txt"
#else
#define TEST_FILE "/tmp/test.txt"
#endif
void get()
{
//ifstream ifs;
//ifs.open(TEST_FILE);
ifstream ifs(TEST_FILE);
//while (ifs.good()) cout << (char) ifs.get();//simple
while (ifs.good()) {
char ch = 0;
//ch = ifs.get();
ifs.get(ch);
cout << ch;
}
ifs.close();
}
void getline()
{
//ifstream ifs;
//ifs.open(TEST_FILE);
ifstream ifs(TEST_FILE);
while (ifs.good())
{
char buf[1024] = {0};
ifs.getline(buf, sizeof(buf));
cout << buf << endl;
}
ifs.close();
}
int main(int argc, char* argv[])
{
get();
getline();
return 0;
}