读取特定的行和列 C++
Posted
技术标签:
【中文标题】读取特定的行和列 C++【英文标题】:Read a specific line and column 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。不幸的是,*** 不是 C++ 教科书的替代品,因此您会被定向到您的教科书以获取更多信息。 我会说一个好的c++
解决方案与c
不兼容。
【参考方案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
函数来删除任何尾随空格,然后再尝试查找最后一列。
【讨论】:
以上是关于读取特定的行和列 C++的主要内容,如果未能解决你的问题,请参考以下文章