Agreed! I use C++ for small scripts/tools and love it. Granted, I first spent some time writing a library of convenience functions like starts_with(), ends_with(), contains(), get_file_contents(), read_csv_file(), etc. that so many languages have built into their standard libraries, but to be honest, even that part was a lot of fun!
$ brew install cling
$ cling
****************** CLING ******************
* Type C++ code and press enter to run it *
* Type .q to exit *
*******************************************
[cling]$ #include <stdio.h>
[cling]$ #include <sys/utsname.h>
[cling]$ struct utsname u;
[cling]$ uname(&u);
[cling]$ printf("%s %s %s\n", u.sysname, u.release, u.machine);
Darwin 20.5.0 arm64
But a char[] could be binary data for all the tool knows, do you want it to do a buffer overflow and end up bricking your computer? std::string etc. exist exactly because char[] is unsafe for holding strings unless you carry around a size.