I don't want to encourage operating on char[] . The only reason I use char[] instead of input.c_str() is because I think we'll have to switch to wchar at some point to handle unicode correctly.