getline( char_type *_Str, streamsize _Count, char_type _Delim )
第一个参数是字符缓冲区地址,第二个是缓冲区长度,第三个是分隔符(默认是回车)
在定义了ifstream finPos("INRIAPerson96X160PosList.txt")和
ImgName = "D:\\DataSet\\INRIAPerson\\INRIAPerson\\96X160H96\\Train\\pos\\" + ImgName;
之后,函数getline(finPos,ImgName)中finPos和ImgName分别是什么意思,很明显ImgName不是缓冲区长度啊?到底应该怎么理解,求高手指点
我想你是搞错了一个函数:你列出来的是:
在头文件<iostream>中声明了getline函数:
istream::getline istream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim );
但是C++中还定义了一个在std名字空间的全局函数,因为这个getline函数的参数使用了string字符串,所以声明在了<string>头文件中了,而你上面的真好用到的是这个
istream& getline ( istream& is, string& str, char delim ); istream& getline ( istream& is, string& str );
那声明在了<string>头文件中的getline函数中每个参数代表什么意思呢?也就是istream& is,string& str
@冬日恋尘: string& str 写到istream& is
@稳稳的河: istream& is是个流
@稳稳的河: 你的意思是,在getline(finPos,ImgName)中,是将ImgName写到finPos这个文件中吗
@冬日恋尘: 是的,你可以自己也测试下
@稳稳的河: 能不能加一下你的QQ,我的是1849050003,如果可以的话加我