用python写的小程序,可以消除单行注释//,多行注释/* .....*/
def commentsEliminate1(file1,file2):
# 获取行数,存储在res
file = open(file1, "r+")
res = len(file.readlines())
# print(res)
file.close()
f1 = open(file1, "r+") # 读取源文件
f2 = open(file2, "a+") # 写向目标文件
flag = 0 # 标记位,标记是否进入多行注释/* */
while res > 0:
res -= 1
code = f1.readline() # 读取文件
length = len(code) # 每行字符数
for i in range(length):
# 单行注释//
if flag == 0 and code[i] == '/' and code[i + 1] == '/':
f2.write("\n")
break
# 多行注释/* ..... */
elif flag == 0 and code[i] == '/' and code[i + 1] == '*':
flag = 1
elif flag == 1 and code[i] == '*' and code[i + 1] == '/':
flag = 0
break
elif flag == 1:
continue
elif flag == 0:
f2.write(code[i])
f1.close()
f2.close()
print("Success")
if __name__ == '__main__':
file1="test.c"
file2="test1.c"
commentsEliminate1(file1,file2)
源程序:
处理过的:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)