赞
踩
#include <fstream>#include <sstream> const char* filepath = "C:/test.txt"; ifstream in(filepath); if(in.bad()) { printf("open file '%d' failed!", filepath); return; } stringstream ss; ss << in.rdbuf(); string str(ss.str()); printf(str.c_str()); in.close();
void RegexSearch::LoadStreamFromFile( char** buffer,const char* filepath ){ FILE* pFile = NULL; int err = ::fopen_s(&pFile, filepath, "rb"); if(0 != err) { printf("open file '%s' failed!", filepath); return; } unsigned int length = 0; int growSize = 512; while(!feof(pFile)) { char* temp = (char*)calloc(length + growSize, sizeof(char)); //将之前已读取的字节流拷贝到新的已扩容的动态数组中 memcpy( temp, *buffer, length ); if(*buffer) free(*buffer); *buffer = temp; //每次读取固定大小growSize长度个字符,并拼接到*buffer指向的字符串尾部 fread((*buffer) + length, sizeof(char), growSize, pFile); length += growSize; } fclose(pFile);}
上一篇:【转】C/C++字节对齐算法
下一篇:【转】协议适配器错误(ORA-12560: TNS:protocol adapter error)