Я хочу открыть файл для чтения, а затем вывести то, что находится в этом.txt файле, любые предложения по моему коду?
string process_word(ifstream &word){
string line, empty_str = "";
while (!word.eof()){
getline(word, line);
empty_str += line;
}
return empty_str;
}
int main(){
string scrambled_msg = "", input, output, line, word, line1, cnt;
cout << "input file: ";
cin >> input;
ifstream inFile(input);
cout << process_word(inFile);
}
Вместо:
while (!word.eof()) {
getline(word, line);
empty_str += line;
}
делать:
while ( std::getline(word, line) ) {
empty_str += line;
}
и было бы разумно дать вашим переменным более подходящие имена.
Ваша функция может быть упрощена:
#include <iterator>
std::string process_word(std::ifstream& word)
{
return std::string{std::istream_iterator<char>{word},
std::istream_iterator<char>{}};
}
int main()
{
string input;
std::cin >> input;
std::ifstream inFile(input);
std::cout << process_word(inFile);
}
process_word
в его нынешнем виде требует поддержки C ++ 11, верно?