C++程序添加^M字符

C++ program adding ^M characters

我正在编辑一个 python 文件,我的程序遍历每一行,如果字符串“if”存在,它会向其附加注释。该程序确实有效,但它添加了 ^M,我再也看不到 GitHub 上的代码,因为它显示为原始文件。

看这个post这里https://unix.stackexchange.com/questions/32001/what-is-m-and-how-do-i-get-rid-of-it
我用了commend dos2linux然后运行我的程序,^M字符没有出现但是我还是看不到GitHub.

上的代码

这是有问题的代码

int main(){
    
    ifstream myfile ("file.py", ios::binary);
    ofstream newfile ("newfile.py", ios::binary);
    string line;
    string newline;
    
    string yep = "if";
    size_t check;

    while ( getline(myfile,line)){
        
        check = line.find("if");

        if ( check != string::npos){
            newline = line + "#If statement";
            newfile << newline << '\n';
        } else {
            newline = line;
            newfile << newline << '\n';
        }

    }


    myfile.close();
    newfile.close();
    return 0;
}

事实证明,使用 unix2dos 的解决方案奏效了。最终发生的事情是所有附加的评论都向文件添加了另一个 .6MB,这反过来又使其超过 1MB。这就是为什么即使代码可以在本地轻松阅读,但您无法在 GitHub.

上查看的原因

感谢那些评论的人,感谢你们的努力。