29 minutes ago, JulieMaru-chan said:
I disagree with the implicit suggestion that you should use C++ strings for new code while keeping C strings for old code. The most important aspect when it comes to readability is consistency, so if you're using C strings everywhere, starting to use C++ strings some places while keeping it as C strings in other places will make your code harder to read, and that's a problem.
When you have programs over millions line of code, there is no other choices than the one I suggested. Keeping something deprecated or dangerous will lead to the program to become deprecated, hard to maintain and which will have more bugs. And changing it to something not deprecated and/or more safe, if that's about 2 or 3 calls that's OK. But if it's about to check hundred thousands of files, in several hundreds (or thousands) of locations, no one will accept to do it. That's not about agreement or not.That's just about faisability and risks.
Doing it progressively allows to keep new code up to date and revised code also up to date and tested over regressions, security issues, bugs and any concerns one should look at when changing some part of existing code. It also allows to start to do a change. Keeping unsafe functions is, to my own opinion, more bad than to break consistency for the moment you'll do the changes...