Проблемы с чтением / выводом файлов

0

Я хочу открыть файл для чтения, а затем вывести то, что находится в этом.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);
}
Теги:
file
ifstream

2 ответа

2

Вместо:

while (!word.eof()) {
    getline(word, line);
    empty_str += line;
}

делать:

while ( std::getline(word, line) ) {
    empty_str += line;
}

и было бы разумно дать вашим переменным более подходящие имена.

0

Ваша функция может быть упрощена:

#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);
}
  • 0
    Я думаю, что тело вашего process_word в его нынешнем виде требует поддержки C ++ 11, верно?
  • 0
    Это не компилируется, C ++ 11 или нет.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню