Чтение строки из файла c ++

Я пытаюсь сделать биллинговую систему для ресторана моего отца просто для практики. Итак, я сталкиваюсь с проблемой, что не могу прочитать всю строку один раз. Например, если в txt-файле был куриный бургер, то компилятор прочитал их, но разбил их на два слова. Я использую следующий код, и файл уже существует.

std::string item_name;
std::ifstream nameFileout;

nameFileout.open("name2.txt");
while (nameFileout >> item_name)
{
    std::cout << item_name;
}
nameFileout.close();
 barak manos03 янв. 2014 г., 12:59
Это не компилятор, читающий эти слова, а исполняемый файл (ваша программа).
 user313955103 янв. 2014 г., 17:07
хм. спасибо Барак Манос.

Ответы на вопрос(2)

Читайте построчно и обрабатывайте строки внутри:

string item_name;
ifstream nameFileout;
nameFileout.open("name2.txt");
string line;
while(std::getline(nameFileout, line))
{
    std::cout << "line:" << line << std::endl;
    // TODO: assign item_name based on line (or if the entire line is 
    // the item name, replace line with item_name in the code above)
}
Решение Вопроса

Чтобы прочитать всю строку, используйте

std::getline(nameFileout, item_name)

скорее, чем

nameFileout >> item_name

Вы могли бы рассмотреть переименованиеnameFileout так как это не имя, а для ввода, а не для вывода.

 user313955103 янв. 2014 г., 17:08
спасибо за помощь. и я использую имя, потому что я использую этот файл для названий продуктов.

Ваш ответ на вопрос