C/C++:如何使用制表从文本文件中读取序列化图形(树)
c/c++: How to read a serialized graph (tree) from text file with tabulation?
我正在尝试从文件中读取结构化数据(如图形或二叉树),它保存在带有indend的人类可编辑数据(无XML)中。
例如
a
/
b c
/ /
d e f g
写成:
a
b
d
e
c
f
g
c++ 中是否有一些函数可以计算从行首开始连续出现的字符"\t"的次数?
我应该使用正则表达式吗?
我需要计算从行首到"\t"的第一个不同字符的"\t"(如果有的话)的数量。
提前谢谢你
用 getline 读取一行,然后遍历它,检查每个字符的 '\t':
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream infile("test.dat");
string line;
while (getline(infile, line))
{
cout << line << endl;
int tab_cnt = 0;
for (int ix = 0; ix < line.size(); ++ix)
if (line[ix] == 't')
++tab_cnt;
cout << tab_cnt << endl;
}
}
相关文章:
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 读取文件的最后一行并输入到链接列表时出错
- 为什么在读取文件大小时文件IO速度会发生变化
- 读取文件时运行时的未知行为
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C++ 读取文件读取文件不正确
- 读取文件并将其存储在unordered_map中时出现问题
- 读取文件时无法使用 OpenMP 获得加速
- 使用istringstearm和get行缓慢读取文件
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 读取文件时引发异常
- 从标准输入读取文件后读取用户输入
- 在读取文件后重置句柄
- 如何在C++编译时读取文件?
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 读取文件在第二次调用时返回INVALID_HANDLE
- 通过指针读取文件
- 逐行读取文件,并将数据插入变量和数组中