将C++源程序的注释删除并保存到另一个文件中,使用循环读写单个字符的方式完成。用python编写
时间: 2024-05-06 12:15:43 浏览: 91
以下是将C++源程序的注释删除并保存到另一个文件中的Python代码:
```python
with open('input.cpp', 'r') as f_in, open('output.cpp', 'w') as f_out:
in_comment = False # 记录是否在注释中
for char in f_in.read():
if not in_comment:
if char == '/':
if f_in.read(1) == '*':
in_comment = True
else:
f_in.seek(-1, 1)
f_out.write(char)
elif char == '"':
f_out.write(char)
while True:
inner_char = f_in.read(1)
f_out.write(inner_char)
if inner_char == '"':
break
elif char == "'":
f_out.write(char)
while True:
inner_char = f_in.read(1)
f_out.write(inner_char)
if inner_char == "'":
break
elif char == '\n':
f_out.write(char)
else:
f_out.write(char)
else:
if char == '*' and f_in.read(1) == '/':
in_comment = False
```
这里使用两个with语句打开输入和输出文件,并分别赋予变量f_in和f_out。然后使用循环读取单个字符的方式,对于不在注释中的字符,判断是否为注释开始或字符串开始,如果是,则需要一直读取到注释结束或字符串结束。最后将处理好的字符写入输出文件中。
阅读全文