⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 29-1.cpp

📁 effective stl 源代码 code
💻 CPP
字号:
//
// Example from ESTL Item 29 (MSVC version)
//
// Fails under MSVC/native lib, STLPort (lacks member templates)
// Fails under G++ (library missing stuff)
//

#include <string>
#include <iostream>
#include <fstream>
#include <streambuf>
#include "ESTLUtil.h"

int main()
{
	using namespace std;
	using namespace ESTLUtils;


	{
		ifstream inputFile("interestingData.txt");

		string fileData(istream_iterator<char>(inputFile),	// read inputFile into
						 istream_iterator<char>());			// fileData; see below
															// for why this isn't
															// quite right, and see
															// Item 6 for a warning
															// about this syntax
		cout << "After initializing, fileData = " << endl << fileData << endl;
	}

	{
		ifstream inputFile("interestingData.txt");

		inputFile.unsetf(ios::skipws);						// disable the skipping of
															// whitespace in inputFile

		string fileData(istream_iterator<char>(inputFile),
						istream_iterator<char>());

		cout << "After initializing, fileData = " << endl << fileData << endl;
	}

	{
		ifstream inputFile("interestingData.txt");

		string fileData(istreambuf_iterator<char>(inputFile),
					istreambuf_iterator<char>());
		cout << "After initializing using istreambuf_iter, fileData = " << endl <<
					fileData << endl;
	}

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -