ввод текста из файла в переменную типа char

У меня есть переменная

ifstream inFile("stuff.txt");

в файле stuff.txt полная отправка:

The quick brown fox jumps over the lazy dog

Как мне поместить его в массив символов со всеми пробелами?

char text[250];
inFile >> text;

доставит меня в первый космос, больше ничего.

0

Решение

использование ifstream::getline() читать в char массив или использование std::getline() читать в std::string, Когда вы используете inFile >> text Пробел будет действовать как разделитель, поэтому он останавливается на первом пробеле.

С помощью std::getline() читать в std::string убирает требование для указания максимального количества символов для чтения. Это устраняет возможность переполнения буфера и позволяет избежать дополнительной сложности, связанной с частично прочитанными строками (если строка была > 250 в этом случае например).

Всегда проверяйте результат операций ввода-вывода немедленно:

 std::ifstream inFile("stuff.txt");
if (inFile.is_open())
{
std::string line;
if (std::getline(inFile, line))
{
// Use 'line'.
}
}
3

Другие решения

while (!inFile.eof()) {

inFile >> text;

}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector