一周前我刚开始使用C ++,所以我对语言知之甚少。我正在创建一个程序,输入一个文本文件,然后反转所有行。
输入:
"abc"
"123"
将是:
"cba"
"321"
我可以弄清楚如何输入文件中的行,但我的反向功能有问题。我试图使用子字符串打印出每个单独的字符作为字符串,从长度-1开始到0结束。但这似乎不起作用。当我运行程序时,我得到了这些我不理解的错误。对于出了什么问题的任何想法?
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
void reverse(string input) {
for((int x=input.length()-1); x=0; x--)
cout << input.substr(x);
}
cout << endl;
}
int main()
{
string line;
ifstream myFile;
myFile.open("reverse_input.txt");
while(getline(myFile, line)) {
reverse(line);
}
return 0;
}
答案 0 :(得分:0)
编译器抱怨的代码中存在几个语法错误
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
void reverse(string input) {
for( unsigned int x= (input.length()-1); x>=0; x--) { //Missing {, extra (), >= insteadof = 0
cout << input[x] << flush;
}
cout << endl;
}
int main()
{
string line;
ifstream myFile;
myFile.open("reverse_input.txt");
while(getline(myFile, line)) {
reverse(line);
}
return 0;
}