怎样快速删除一个项目源文件里面的所有
//
/**/
的注释文字?哪位有经验?介绍一下

解决方案 »

  1.   

    自己写短代码,搜索所有h和cpp文件,很简单得你想干嘛?
      

  2.   

    //====
    // rmcc.cpp
    // - remove C/C++ comments
    // - assume no nested block comments
    // - usage: rmcc <input_file> <output_file>
    // Notes
    // - this program is provided as is with no warranty.
    // - the author is not responsible for any damage caused
    //   either directly or indirectly by using this program.
    // - anybody is free to do whatever he/she wants with this
    //   program as long as this header section is preserved.
    // Created on 2002-08-18 by
    // - Roger Zhang ([email protected])
    // Modifications
    // -
    // Last compiled under Linux with gcc-3
    //====#include <iostream>
    #include <fstream>using namespace std;void parse(ifstream &fin, ofstream &fout)
    {
        char curr, prev = '\0';
        bool comment = false;
        bool charLiteral = false;
        bool stringLiteral = false;    while (fin.get(curr)) {
            if (charLiteral) {
                fout << curr;
                if (curr == '\'' && prev != '\\') { // 'a' ends
                    charLiteral = false;
                }
                prev = (prev == '\\' && curr == '\\') ? '\0' : curr;
            } else if (stringLiteral) {
                fout << curr;
                if (curr == '\"' && prev != '\\') { // "string" ends
                    stringLiteral = false;
                }
                prev = (prev == '\\' && curr == '\\') ? '\0' : curr;
            } else if (comment) {
                if (curr == '/' && prev == '*') { /* comment ends */
                    prev = '\0';
                    comment = false;
                } else { /* comment text */
                    prev = curr;
                }
            } else if (prev == '/') {
                if (curr == '/') { // end of line comment
                    fout << '\n';
                    prev = '\0';
                    while (fin.get() != '\n');
                } else if (curr == '*') { /* comment starts */
                    prev = '\0';
                    comment = true;
                } else { // normal code
                    fout << prev << curr;
                    prev = curr;
                }
            } else {
                if (curr != '/') {
                    fout << curr;
                }
                charLiteral = (prev != '\\' && curr == '\'');
                stringLiteral = (prev != '\\' && curr == '\"');
                prev = (prev == '\\' && curr == '\\') ? '\0' : curr;
            }
        }
    }int main(int argc, char *argv[])
    {
        if (argc != 3) {
            cerr << "Usage:\t" << argv[0] << " <input_file> <output_file>\n";
            return 1;
        }    ifstream fin(argv[1]);
        ofstream fout(argv[2]);    if (!fin) {
            cerr << "Error:\t\"" << argv[1] << "\" - no such file\n";
            return 1;
        }    parse(fin, fout);    fin.close();
        fout.close();    return 0;
    }来自http://www.programmersheaven.com/zone3/cat486/39569.htm
      

  3.   

    assume no nested block comments
    ------
    8错!多谢我主要是从一个使用者的角度出发,不想编程。
    还有其他方便的经验吗?多谢各位..