读取中间名为可选文件

Reading a file where middle name is optional

本文关键字:文件 中间 读取      更新时间:2023-10-16

我正在尝试读取格式化为

名字中间名(可选) 姓氏宠物名

由于中间名出现在一半的条目上,我不确定阅读这些并将它们放入正确的变量名称的最佳方法。任何帮助将不胜感激。

你可以做这样的事情:

std::string line, word;
while (std::getline(myFile, line)) {
    if (line.empty()) continue;        
    // read words from line:
    std::istringstream is(line);
    std::vector<std::string> words;
    words.reserve(4);
    for (int i = 0; is >> words && i < 4; i++)
        words.push_back(word);
    if (words.size() == 4)
        // middle name was present ...
    else
        // it was not ...
}

如果只有中间名是可选的,您可以拆分行并将单词保留在std::vector<std::string>中。然后检查 vector 的大小是否为 4,那么您有中间名。如果大小为 3,则不为。