簡體   English   中英

C++ iostream 編碼?

[英]C++ iostream encoding?

我有一個input.txt和一個output.txt ,顯然我生成了output.txt ,現在是寫出完全相同的東西,但由於可能的編碼(?)錯誤,它沒有這樣做。

以下是輸入和 output 的圖片:

輸入

輸出

我的代碼如下所示:

菜單.cpp:

void Menu::kiir(){
    ofstream myfile("output.txt");
    if (myfile.is_open()){
        myfile << sakk.toString();
    }
}

sakktabla.cpp中的toString()方法:

string sakktabla::toString(){
    std::string eredmeny="";
    int x = this->x;
    int y = this->y;
    for (int i = 0; i < x; i++){
        for (int j = 0; j < y; j++){
            eredmeny += (int)getValue(i, j);
        }
        eredmeny += "\n";
    }
    return eredmeny;
}

getValue()方法:

int sakktabla::getValue(int x, int y){
    return this->_vec[x][y];
}

我沒有看到你在哪里攝取,但你似乎是:

  • 讀取字符輸入,例如字符'2'
  • 將其轉換為 integer 輸入,即 integer 2
  • 輸出 integer,這里產生一個值為2的 ASCII 字符。

可能令人困惑的是std::string::operator+=不進行任何類型的轉換。

你可能想要:

eredmeny += std::to_string(getValue(i, j));

std::to_string()將一堆數字類型轉換為人類可讀的字符串對應物。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM