文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>fstream和stringstream之间的转换

fstream和stringstream之间的转换

时间:2010-12-06  来源:escarp


#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();
 


这里再贴上用fopen()打开一个文件并写入二进制流的方法。

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);
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载