(最近在调整生物钟,晚上9点半前睡觉,早晨很早就醒了,利用早晨充足的时间可以读英语和写代码,感觉很好。)
不知道你是否考虑过这个问题:std::string究竟可以存储多大的字符串呢?
理论上std::string可以存储 std::string::max_size大小的内容。
我在Visual studio 2008上运行的结果是:max_size:4294967294
我在Visual studio 2008上运行的结果是:max_size:4294967294
#include <iostream> // std::cout
#include <fstream> // std::ifstream
#include <string>
using namespace std;
bool readFileToString(string file_name, string& fileData)
{
bool ret = false;
ifstream file(file_name.c_str(), std::ifstream::binary);
if(file)
{
// Calculate the file's size, and allocate a buffer of that size.
file.seekg(0, file.end);
const int file_size = file.tellg();
char* file_buf = new char [file_size+1];
//make sure the end tag '\0' of string.
memset(file_buf, 0, file_size+1);
// Read the entire file into the buffer.