文件 io

1. 读取整行文本

bool IMWindowManagerI::GetUserListFromFile(const string file_path, set<Ice::Int> &temp_users) {

  TimeStat ts;
  bool ret =true;
  ifstream ifile(file_path.c_str()) ;
  if (!ifile) {
    MCE_WARN("IMWindowManagerI::GetReceiversFromFile   Fail to open file ,path:" << file_path);
    ret = false;
  }
  if (ret) {
    char buf[128];
    for(int i=0; !ifile.eof(); i++) {
      if (ifile.getline(buf , sizeof(buf)-1).good()) {
        Ice::Int id = atoi(buf);
        if (id >0)
          temp_users.insert(id);
      } else {
        ret = false;
        break;
      }    
    }    
  }
  MCE_INFO("IMWindowManagerI::GetWhiteListFromFile----> usetime : " << ts.getTime() << "temp_users.size:" << temp_users.size() << " file_path:" << file_path);
  return ret;
}

你可能感兴趣的:(文件 io)