c ++ ofstream.put (char) дает странный вывод - PullRequest
0 голосов
/ 01 июня 2011

Я новичок в форумах и у меня проблемы с моим скриптом на С ++. Мне нужно вывести массив строкового типа в выходной текстовый файл. У меня есть массив, преобразовал его в символы и до сих пор проблемы. Это дает вам первые 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();
}

1 Ответ

1 голос
/ 01 июня 2011

Ну, в чём проблема использования ofile в цикле с тем же синтаксисом, что и до цикла?

ofile << oBoard[i][j];

вместо

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