关于crypto++,高手请进

jcjunjin 2008-11-01 10:25:03
string* InformationDisperseFile(int threshold, int nShares, const char *filename)
{
assert(nShares<=1000);
string* ret = new string[nShares];

ChannelSwitch *channelSwitch;
StringSource source(filename, false, new InformationDispersal(threshold, nShares, channelSwitch = new ChannelSwitch));

vector_member_ptrs<StringSink> stringSinks(nShares);
string channel;
for (int i=0; i<nShares; i++)
{
char extension[5] = ".000";
extension[1]='0'+byte(i/100);
extension[2]='0'+byte((i/10)%10);
extension[3]='0'+byte(i%10);
stringSinks[i].reset(new StringSink((string(filename)+extension)));

channel = WordToString<word32>(i);
stringSinks[i]->Put((byte *)channel.data(), 4);
channelSwitch->AddRoute(channel, *stringSinks[i], BufferedTransformation::NULL_CHANNEL);
StringSource source(stringSinks[i],true, new StringSink(ret[i]));//出现错误,是参数1的类型问题,不知道怎么改?
}
source.PumpAll();
return ret;
}


void main()
{ char*str = "11111111111112222222222233333333333";
string* m = InformationDisperseFile(50, 100, str);
for(int i=0; i<100; i++)
{
cout<<m[i]<<endl;
}
getchar();
}

请高手帮助,很是着急啊!
...全文
48 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧