【问题标题】:Read a specific line and column C++读取特定的行和列 C++
【发布时间】:2020-12-29 01:13:42
【问题描述】:

我有一个 .txt 文件,其中包含:

Gabriel 18 2002
Joseph 89 1931

如何读取第一行的最后一列?喜欢2002

我不知道如何用 C++ 做到这一点,在 Shell 编程中有 sed 和 awk

【问题讨论】:

  • 您将学习如何做到这一点by following the practice examples in any C++ textbook。不幸的是,Stackoverflow 不是 C++ 教科书的替代品,因此您会被定向到您的教科书以获取更多信息。
  • 我会说一个好的c++解决方案与c不兼容。

标签: c++ windows file


【解决方案1】:

在 C++ 中,您通常会通过读取整行、查找(例如)行中的最后一个空格或制表符,然后创建一个包含其后数据的子字符串:

std::getline(infile, line);

int pos = line.find_last_of(" \t");
std::string last_column;

if (pos == std::string::npos) 
    // wasn't found--process entire string
    last_column = line;
else
    last_column = line.substr(pos+1);

您可能还需要处理(至少)一个细节。您可能需要处理带有尾随空格字符的字符串。例如,如果它包含"Gabriel 18 2002 "find_last_of 将找到该尾随空格,并将其后面的内容(无)视为最后一列。如果这在您的输入中可行,您可能需要添加一个 trim 函数来删除任何尾随空格,然后再尝试查找最后一列。

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 2019-04-15
    • 2020-01-12
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多