stream.put(char)的c++给出了奇怪的输出

c++ ofstream.put(char) gives weird output

本文关键字:输出 c++ put char stream      更新时间:2023-10-16

我刚进入论坛,我的c++脚本有问题。我需要将一个字符串类型的数组输出到一个输出txt文件中。我有一个数组,将其转换为字符,但仍然存在问题。它给出了前2行,但其余的要么是μ,要么是μ。另一个问题是,我需要制作一个endl,用.put()函数似乎不可能做到这一点。这是我程序的核心:

ofstream ofile ("test2.txt", ios_base::trunc);
i=0;
j=1;
stringstream ss;
char oBoard[9][10];
                    //CHECK WHICH STARTER
if (ofile.is_open()){
    if(board[0][0]=="b"){
        ofile << "black" << endl;
    }
    else{
        ofile << "white" << endl;
    }
                    //START LOOPING FOR OUTPUT
    while(j!=11){
        i=0;
        while(i!=10){
            ss << board[i][j];
            ss >> oBoard[i][j];
            cout << oBoard[i][j] << endl;
            ofile.put(oBoard[i][j]);
            i++;
        }
        j++;
    }
    ofile.close();
}

那么,在循环中使用与循环之前相同语法的ofile有什么问题?

ofile << oBoard[i][j];

而不是

ofile.put(oBoard[i][j]);