要求
我有一个如下所示的 txt 文件。
START:
#INCLUDE "INC1.txt"
#INCLUDE "INC2.txt"
END
当我运行程序时,它应该包含包含文件的内容并转储到文件中。转储后看起来像这样。
START:
<Contents of INC1.txt>
<Contents of INC2.txt>
END:
问题
我面临的问题是,如果用户在评论中给出包含内容(/**/),我不应该转储这些内容。
例如,输入文件将是这样的。
START:
#INCLUDE "INC1.txt"
/******#INCLUDE "INC2.txt"****
This is a test message*******/
END:
转储应该是这样的。
START:
<Contents of INC1.txt>
/******#INCLUDE "INC2.txt"****
This is a test message*******/
END:
有没有什么简单的方法可以忽略评论。我必须只支持多行注释(/**/)?
请提出您的意见。
提前致谢。
最佳答案
逐字符读取文件,并跟踪当前字符和前一个字符。特点。当前一个字符为/
且当前字符为*
时,停止复制前一个字符输出,直到字符为*
时才开始输出> 和 /
。
或者使用正则表达式。可能有 C 库可以实现这一点,尽管 sed
可能会花费最少的努力来完成它。
关于c - 读取文本文件,忽略注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494517/