use*_*551 5 c++ string file-handling
我正在尝试为我父亲的餐厅制作计费系统,仅供练习.所以,我面临的问题是我无法一次读取完整的字符串.如果在txt文件中有鸡汉堡而不是编译器读取它们但是将它们分成两个单词.我正在使用以下代码,该文件已存在.
std::string item_name;
std::ifstream nameFileout;
nameFileout.open("name2.txt");
while (nameFileout >> item_name)
{
std::cout << item_name;
}
nameFileout.close();
Run Code Online (Sandbox Code Playgroud)
要阅读整行,请使用
std::getline(nameFileout, item_name)
Run Code Online (Sandbox Code Playgroud)
而不是
nameFileout >> item_name
Run Code Online (Sandbox Code Playgroud)
您可能会考虑重命名,nameFileout因为它不是名称,而是输入不输出.
逐行读取并在内部处理行:
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)
}
Run Code Online (Sandbox Code Playgroud)