Liu Zhian 2017-06-03 04:29 采纳率: 60%
浏览 2603

c++实现将文件中的注释删掉

这是我写的代码,编译没问题,不知为何控制台空白一片,求指点!

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    fstream file;
    file.open("menu.cpp",ios::out);
    if (!file)
    {
        cout<<"no file to be found!\n";
        return -1;
    }
    char ch,ch1;
    while(file.get(ch))
    {
        if (ch=='/')   // 当读到第一个“/”
        {
            file.get(ch1);
            if (ch1=='/')   // 当读到第二个“/”
            {
                while(file.get(ch))   // 继续往下读
                {
                    if (ch=='\n')
                    {
                        cout<<endl;
                        break;
                    }
                }
            }
            else   // 没读到第二个“/”
            {
                cout<<ch;
                cout<<ch1;
            }
        }
        else if(ch=='\n')     // 当文件中读到换行符时
        {
            cout<<endl;
        }
        else       // 读到一般内容
        {
            cout.put(ch);
        }
    }
    file.close();
    return 0;


}
  • 写回答

4条回答 默认 最新

  • 一个纸杯 2017-06-03 04:59
    关注

    把ios::out改为ios::in,你是要输入,不是要输出。输入指的是从文件输入到内存,输出知道的是输出到文件,相对关系不要搞混了。

    评论

报告相同问题?