Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-11-02 12:53:08


The problem is that your user still has to enter the keys like:

appname.exe --key="public key" --key="secret key"

And if the user enters:
appname.exe --key="secret key" --key="public key"

How do you know which is the right one?

The best solution would be to enforce to specify public and secret params:
appname.exe public="public key" secret="secret key"

The last point also applies to my previous post. This way you will avoid
some errors for your users.

Best Regards,
Ovanes

On 11/2/07, Edwin Savarimuthu <zerobook_at_[hidden]> wrote:
>
> You can use something like this as well.
>
> std::vector<std::string> key_pair;
> ("secert", boost::program_options::value< std::vector<std::string>
> >(&key_pair), "creates the share secret key");
>
> Then you can do you error checks ...
>
> if ( key_pair.size() == 2 )
> {
> // Do your processing here
> } else
> {
> // error
> }
>
> This example uses string vector. I guess std::vector<BigInteger>
> should also work for you.
>
>
> Thanks,
> Edwin
>
>
>
>
> On 10/31/07, Ovanes Markarian <om_boost_at_[hidden]> wrote:
> > One more addition:
> >
> > boost::tuple<BigInteger, BigInteger> key_pair;
> >
> > This will not parse your key. You need to do it manually. So your param
> > should be std::string. And than you can tokenize you string. Or you
> define 2
> > separate params and let program_options parse them into Integers for
> you.
> > But I am unsure if this is supported. Probably yes. I am 100% sure
> program
> > options will not tokenize one param for you. May be only if your
> key_pair
> > supports construction from a space separted string.
> >
> >
> > Regards,
> > Ovanes
> >
> >
> > On 10/31/07, Ovanes Markarian <om_boost_at_[hidden]> wrote:
> > >
> > > Hi!
> > >
> > >
> > >
> > > On 10/31/07, chun ping wang <cablepuff_at_[hidden]> wrote:
> > > >
> > > > HI how would I use program options to accept multiple input.
> > > >
> > > > The thing compiles but when I do DiffieHellman.exe --secert 817 697
> > > >
> > > > I get this error.
> > > > C:\CPW\cs_classes>DiffieHellmanEncrypt --secert 817 697
> > > > terminate called after throwing an instance of
> > > > 'boost::program_options::invalid_
> > > > option_value'
> > > > what(): in option 'secert': invalid option value '817'
> > > >
> > > > This application has requested the Runtime to terminate it in an
> unusual
> > > > way.
> > > > Please contact the application's support team for more information.
> > > >
> > > >
> > > >
> > > the option is in your case:
> > >
> > > --secert="817 697"
> > >
> > > Regards,
> > > Ovanes
> >
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net