【发布时间】:2015-12-14 09:57:27
【问题描述】:
在 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); }
【问题讨论】:
-
我认为你的
if块应该放在括号中 -
这看起来更像 C++ 而不是 C。
-
看起来您的
getline和while行的顺序有误。