参数传递问题

lily604 2008-03-09 11:50:01
我编了个函数传递四个参数,我想把一个由01组成的文件每一行对应的01相加 如:10011
编译无措只是执行时候出错,请大家帮我看看 + 01110
= 11121
int main()
{
...............
int *count=new int[100];
ifstream in;
string filename1;
cout<<"please input the filename you want to mine:";
cin>>filename1;
count=generate_set_including_frequent(cel,filename1,in,num_frequent-set1.count);
for(int d;d<20;d++)
cout<<count[d];

return 0;
....................
}


int * generate_set_including_frequent(cell * cell,string& filename1,ifstream in,int length)
{
int *count=new int[200];
in.open(filename1.c_str());
if(in.fail())
{
cout<<"File in.txt could not be opened";
exit(1);
}
else
do
{
string s;
getline(in,s);
for(int i=0;i<length;i++)
cell[i].num_1fre+=::atoi(s.c_str());
}while(!in.eof());
in.close();
for(int j=0;j<length;j++)
count[j]=cell[j].num_1fre;
return count;
}
还有个cell类
class cell
{
public:

int num_1fre;
char _item;
};
这个文件我输入的是bool型的01,而相加需要int型,我把它们取进string类型肯定不妥吧,请高手指点
...全文
102 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengwenfu 2008-03-10
  • 打赏
  • 举报
回复
cell[i].num_1fre+=::atoi(s.c_str());
不能直接atoi因为字符串代表的是二進制的數。
ryfdizuo 2008-03-10
  • 打赏
  • 举报
回复
报什么错了,除了内存泄漏之外看不出什么.
数名字改为:int * generate_set_including_frequent(cell cell[],string& filename1,ifstream in,int length)
lily604 2008-03-10
  • 打赏
  • 举报
回复
你们说的方法我试了,不好要啊,文件是.txt格式的,我用了释放内存还是不行啊,
不知道我的参数传递有没有问题啊
Chappell 2008-03-10
  • 打赏
  • 举报
回复
存在内存泄露,程序中出现多次new,但不见delete.
int *count=new int[100];
……
count=generate_set_including_frequent(cel,filename1,in,num_frequent-set1.count);
……
int *count=new int[200];

可以改为:
int *count;
count = generate_set_including_frequent(cel,filename1,in,num_frequent-set1.count);
……
……
delete []count;//不用的话要释放

野男孩 2008-03-10
  • 打赏
  • 举报
回复
文件格式是怎样的??
weide361 2008-03-09
  • 打赏
  • 举报
回复
可以这么做
int a[10];
ifstream ifs("你要读进的文件名");
for(int i=0;i<10;i++)
ifs>>a[i];
可以把用空格隔开的数一个个读进来
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-09 11:50
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下