unsigned char [] 与 std::string 相互转换问题!C++

求这两个类型的相互转换的代码,同时还想问下怎样将大文件转换为 unsigned char [] 类型。(验证文件时过大读不进内存)

char[]转换为string:
string s1;
char *pc = "a character array";
s1 = pc; // ok

string转换为char[]:
char *str = s1.c_str();

大文件读取,需要进行分段.比如每10M进行读取,待处理完后,释放这块内存,读取下一10M的内容。

http://zhidao.baidu.com/link?url=qx3_qtTjI-XcmUo_kyCRI3HhUmD0OZFg0DuGzMuUV57H3P8YRDder_KdQ43GOZ6V9knWDDWpFsWWrS67eGg0cbK83FvszP5JEpPnDeYcyPC

大文件要看多大,如果非常大,不建议一次性读取到数组中。