我有一些具有以下模式的 .txt 文件:
#Some comments here
bull rocket 3
trailer laker -12
#More comments there
Warriors Pacers 9
基本上,有一些评论以 # 开头 其他行包含两个字符串,后跟一个 int
我需要将这两个字符串和一个 int 一个一个地处理 我必须忽略任何空行或以 #
开头的行我正在考虑使用 ifstream.get() 来读取第一个字符,然后 如果是 #
则丢弃整行但是当涉及到数据时,我被卡住了。我怎样才能读一个字符 然后得到第一个字符串?即,我找到一个 'b' 然后我需要 公牛”。我该怎么办?
谢谢
最佳答案
使用“while (std::getline(is, line)) {
”读取文件流(std::istream is
)一行(std::string line
) 一次。
如果 line
为 empty()
或以 #
开头,continue
。在执行此检查之前,您可能希望删除任何前导空格。
否则,解析该行(可能使用 std::istringstream iss(line); iss >> first >> second >> value;
)。 StackOverflow 上的其他地方有很多关于如何执行此操作的出色示例。</p>
关于c++ - 通过C++ fstream分离.txt文件中的注释和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082383/