It's simple enough if you don't mind needlessly updating a file with the same setting it already had.
Code:
sed -i "s/SettingC=.*/SettingC=false/" /path/to/ini_file
To avoid that takes a bit more work.
Code:
sed -i "/SettingC=false\$/b;s/SettingC=.*/SettingC=false/"
What that does is first test whether the line is already "SettingC=false" (explicitly anchored to the end of the line so that "false123" will not match) and branch to the end of the script if true, otherwise do the replacement.
[EDIT]And, a bit of testing reveals that
sed is not as smart as I thought it was and will replace the file even if no changes were made, so there's no point in adding that test.[/EDIT]
In both cases, the regex ends with ".*" so that
anything following the equals sign will be replaced.
There are lots of things that could be done to make this more robust with regard to whitespace, lines like "MySettingC=whatever", etc. While
sed certainly could do all that (It is, after all, a
Turing-complete language.), eventually you reach a point where it is just not a suitable language for the task at hand.