反转从文件中取出的字符串,然后将其输入到另一个文件中

Reverse a string taken from a file and then input it in to another file

可能是因为我没有传递值 correctly.Although 代码是 运行。

#include <iostream>
#include <fstream>
#include <stream>
using namespace std;
    
  
int main()
{
    //Files
    ifstream Myfile;
    Myfile.open("Myfile.dat");
    ofstream ReverseEx;
    ReverseEx.open("ReverseEx.txt");
    string str;
    //Getting the text from Myfile.dat and then passing it to Reverse.txt
    while (Myfile>>str)
    {
        Myfile >> str;
        reverse(str.begin(), str.end());
        cout << "\n";
        ReverseEx << str;
        
    }

    return 0;
}
    
//Input
//Hello everybody!!!
//STRINGS ARE COOL.
//Output
//!!! ydobyreve olleH
//.LOOC ERA SGNIRTS

结果应该是这个例子。 但是我得到了这个

//!!!ydobyreveERA.LOOC

您需要逐行阅读(使用 std::getline)而不是逐字阅读才能获得您期望的结果。您当前的循环还读取 两个 个单词,然后将其中一个扔掉。

while(std::getline(Myfile, str)) {
    reverse(str.begin(), str.end());
    ReverseEx << str << '\n';
}