ifstream 和 istringstream都继承自 istream, 所以string类的getline(istream&, string& char delim)函数 第一个函数可以用来ifstream读文件,也可以istringstream将字符串split,而之前经常用cin.getline(char*, int buf_size, char delim) (cin是istream的默认对象,表示键盘等标准输入)其实在学了C++ string之后就应该基本丢弃了,fin.getline 也是类似的,都是C语言的。
ifstream fin();
while(getline(fin,line,'\n')) 可以设置一行一行读取,其实默认就是\n 然后里面如果是空格分隔,再用istringstream 进行split操作。不能直接用空格分隔,因为两行之间的换行符区分不出来,我还尝试是否两个delim全部加入,但是不行,只能一个char
sstream fstream >>string 默认都是 空格 \t \n delim的,而getline(fin, string)等默认都是 \n ,反正实在分不清楚都写一个getline的第三个delim参数就不会有问题应该
map 还是使用 红黑树,hash_map才是使用hash table实现的。但是每次都要任意制定一个int 有点怪