我正在尝试创建一个程序,该程序接受c ++代码的文本文件,并输出具有该代码的另一个文件,减去它包含的任何注释.
假设rFile和wFile定义如下:
ifstream rFile; // File stream object for read only
ofstream wFile; // File stream object for write only
rFile.open("input.txt", ios::in);
wFile.open("output.txt", ios::out);
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是简单地浏览文本,并在(略微改进的)peek()标识/*时执行相当于笔记(徽标引用),并在看到*/时向下笔.当然,在看到它之后它会"直立"直到它达到\n.
这种方法的问题是output.txt不包含任何原始空格或换行符.
这是代码(我在这个阶段甚至没有尝试删除评论):
while (!rFile.eof())
{
rFile>>first; //first is a char
wFile<<first;
}
Run Code Online (Sandbox Code Playgroud)
那么我尝试用getline()分别获取每行代码,然后在wFile中添加一个endl.它到目前为止工作,但使事情变得更复杂,更不优雅,代码可读性更低.
所以,我想知道是否有人对我有任何指示.(没有双关语!)
NB这是我已经给出的更大的家庭作业的一部分,我仅限于使用C++函数而不是C函数.
| 归档时间: |
|
| 查看次数: |
7452 次 |
| 最近记录: |