反转从文件中取出的字符串,然后将其输入到另一个文件中
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';
}
可能是因为我没有传递值 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';
}