!access (OPT_BankName . c_str( ), R_OK|W_OK|X_OK))
!access (OPT_BankName . c_str( ), F_OK))
void ParseArgs (int argc, char ** argv){  int ch, errflg = 0;  optarg = NULL;  while ( !errflg && ((ch = getopt (argc, argv, "b:cfhm:z")) != EOF) )    switch (ch)      {      case 'b':	OPT_BankName = optarg;	break;      case 'c':	OPT_Create = true;	break;      case 'f':	OPT_Create = true;	OPT_ForceCreate = true;	break;      case 'h':	PrintHelp (argv[0]);	exit (EXIT_SUCCESS);	break;      case 'm':	OPT_MessageName = optarg;	break;      case 'z':	OPT_Compress = true;	break;      default:	errflg ++;      }  if (OPT_BankName == "")    {      cerr << "ERROR: The -b option is mandatory\n";      errflg ++;    }  if (OPT_MessageName == "")    {      cerr << "ERROR: The -m option is mandatory\n";      errflg ++;    }  if (OPT_Create  && !OPT_ForceCreate  &&      !access (OPT_BankName . c_str( ), R_OK|W_OK|X_OK))    {      cerr << "ERROR: Bank path already exists\n";      errflg ++;    }  if (!OPT_Create  &&      access (OPT_BankName . c_str( ), R_OK|W_OK|X_OK))    {      cerr << "ERROR: Bank path is not accessible\n";      errflg ++;    }  if (access (OPT_MessageName . c_str( ), R_OK|W_OK|X_OK))    {      cerr << "ERROR: Message path is not accessible\n";      errflg ++;    }  if ( errflg > 0 || argc != optind )    {      PrintUsage (argv[0]);      cerr << "Try '" << argv[0] << " -h' for more information.\n";      exit (EXIT_FAILURE);    }}