Curious
Curious

Reputation: 21510

Dealing with special characters in CLI11

I have code like the following

flags->add_option("--name", name_, "The name.")->required();

I want to be able to pass strings like "aa$p$aa" to the --name parameter. However, this does not seem to work with CLI11, and the name gets truncated to just "aa". I need to escape the $ characters to properly read the strings. So aa\$p\$aa works fine, and I get the expected string ("aa$p$aa").

Changing the function to add_flag() does not work either.

Is there a way to be able to pass arbitrary strings to a parameter as with either function calls above?

Upvotes: 1

Views: 436

Answers (1)

Sam Varshavchik
Sam Varshavchik

Reputation: 118340

Your operating system takes the command you type in and executes the given program, passing the parameters to it.

The interpolation, and the handling of $ characters in typed-in commands is handled by your operating system as part of executing the typed-in command. Your compiled C++ program receives the transformed arguments, as parameters. Your C++ program has no means to control what has happened before it was even executed.

Upvotes: 3

Related Questions