When using command line arguments, is better to use them as c strings and interact with them using the cstring header functions?, or is better to convert them to library strings for using them?
im new in c++ and i am creating a version of cat for practicing what i have learned so far. What im doing for managing the command line arguments is converting them to library strings and then using them, but now i have the doubt if it is the correct / most optimal way to do it
You can quickly get the args into a vector like this:
Checking equality etc directly instead of using strcmp stuff is better. There are libraries available for handling command line args too.
Use
std::string_viewto sort of get the safety ofstd::stringwithout copying the contents (just in general make sure the original c string won't getfreed or overwritten, which won't happen toargvin your case).Or just
std::stringand yolo, the overhead of copying the contents is negligible in your use case.If they are just practicing it isn't a problem, C++17 is already 6 years old and the open source community should get onboard imo
I'm not talking about professional projects. OP asked about making a pet project in C++.
Also, a lot of opensource software could jump forward in term of standard required ; I'm not saying that no professional project uses opensource library, just that we should start moving forward if we don't want to get stuck with old versions
thank you