注释转换

题目:将C程序代码中的C风格注释转换为C++风格注释

分析:

       一份C程序代码中的内容只可能处于一下四种状态:可以编译正常的代码状态,C风格注释状态,C++风格注释状态,文件结束状态(EOF)。这四种状态的定义如下:

注释转换

        这四种状态之间的相互转换标志,如下图所示:

注释转换

       文件刚开始未读字符时,处于正常状态:

注释转换

 然后,从文件中依次读取字符,判断读到的字符是否为以上标记,若是,则进行状态转变,如不是,则保持原状态不变。

        这里需要一个输入文件,将输入文件的内容处理后在写入输出文件中。所以定义两个文件名:

注释转换

        然后,将这两个文件打开,对输入文件进行读取判断,对输出文件进行写入,所以,输入文件已只读方式打开,输出文件以只写方式打开,进行完读取,写入操作后,再关闭文件:

注释转换

        对输入文件进行处理时,处于哪种状态,就调用哪种状态下的函数:

注释转换

        根据上述四种状态下的相互转换图,编写相应的函数。

        正常状态:

注释转换

注释转换

        C++状态:

注释转换

        C状态:

注释转换

注释转换

        文件结束状态:

注释转换

主函数:

注释转换

输入文件内容:

注释转换

运行结果:

注释转换

生成的输出文件内容:

注释转换