在Windows 7系统上的Visual Studio Express 2013中运行的C中,我有以下代码,用于打印出现注释的文本文件中的行。这些行在输入文件中用#符号表示为一行中的第一个字符。假设一行是:
#George Washington lives here
当我执行程序时,它打印出来:
comment: α°/
为什么我的代码不能打印出来?检测这些行并处理它们没有问题。
string str;
ifstream in;
in.open(filename);
if (in.is_open())
getline (in, str);
while (in) {
if (str[0] == '#') { printf("\ncomment: %s", str); }
答案 0 :(得分:0)
在Visual Studio 2013中,您可以配置Unicode和Multibyte之间的字符集。你可以在项目中找到它。
To" normalize"你可以添加c_str()
的字符串printf("\ncomment: %s", str.c_str());