读文件的问题

lily604 2008-03-21 12:00:28
文件存的是bool型的01,请问有没有什么方法把它读进bool型的数组里啊,有什么函数可直接用吗?
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lily604 2008-03-21
  • 打赏
  • 举报
回复
看下我这段代码有什么问题吗?
in.open(str.c_str());
if(in.fail())
{
cout<<"in failed";
exit(1);
}
else

while(!in.eof())
{
int j=0;

in>>t;
if(in.fail())
break;

bl[j++]=t=='1'?true:false;

}

for(int k=0;k<10;k++)
cout<<bl[k];
lily604 2008-03-21
  • 打赏
  • 举报
回复
好像有点问题,怎么打印出来的都是1没有0
lily604 2008-03-21
  • 打赏
  • 举报
回复
哦这样啊,办法不错,我要是想把不同行放进不同的数组呢.是不是用if(t=='\n')
来判断就可以了
星羽 2008-03-21
  • 打赏
  • 举报
回复

#include "iostream"
#include "fstream"
using namespace std;

int main()
{
ifstream ifile("test.txt");

if (ifile.fail())
return 1;

bool barray[128];
int num = 0;
char t;

while (num < 128)
{
ifile>>t;

if (ifile.fail())
break;

barray[num++] = t == '1' ? true : false;
}

ifile.close();

for (int i = 0; i < num; ++i)
cout<<std::boolalpha<<barray[i]<<endl;

return 0;
}


lily604 2008-03-21
  • 打赏
  • 举报
回复
哦 是的哈,我就是有思维定势了,谢谢了
野男孩 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lily604 的回复:]
看下我这段代码有什么问题吗?
in.open(str.c_str());
if(in.fail())
{
cout < <"in failed";
exit(1);
}
else

while(!in.eof())
{
int j=0; //注意:这里是循环内定义的

in>>t;
if(in.fail())
break;

bl[j++]=t=='1'?true:false; //下次while进来,j又是0!!

}

for(int k=0;k <10;k++)
cout < <bl[k];
[/Quote]

64,849

社区成员

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

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