请教getline()
我想请教一下getline()的标准格式是啥样的,还有他的一些用法和注意事项,谢谢 问题点数:20、回复次数:12Top
1 楼msjhonlili(万里长城永不倒,千里黄河水滔滔!)回复于 2006-02-03 22:09:17 得分 5
LZ,查MSDN就完了
一般用它从文件中读取一行数据,给一个示例吧:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
ifstream infile("test.txt");
string strBuf;
getline(infile, strBuf, '\n');
...
return 0;
}Top
2 楼du51(郁郁思扬)回复于 2006-02-03 23:41:58 得分 5
istream& istream::getline(char *,int,char='\n');
istream& istream::getline(unsigned char *,int,char='\n');
istream& istream::getline(signed char *,int,char='\n');
char *为目的串,int为数量,char 为结束符(默认为换行)
注意:结束符提出,但不处理.
指定为n时,至多提n-1个字符,最后一个放结束符.
当然,空间之类的问题不在此例.Top
3 楼xyjchinese(春天把老婆种到地下后我就急切的盼望秋天的到来)回复于 2006-02-04 00:04:31 得分 0
如果test.txt中的内容如下:
aaaa
bbbb
cccc
dddd
eeee
ffff
请问只显示第3,4行,这程序该怎么写?Top
4 楼realzzz(zhangpeng)回复于 2006-02-04 08:53:38 得分 0
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
ifstream infile("test.txt");
string strBuf;
getline(infile, strBuf, '\n');
getline(infile, strBuf, '\n');
getline(infile, strBuf, '\n');
//output
getline(infile, strBuf, '\n');
//output
...
return 0;
}Top
5 楼xyjchinese(春天把老婆种到地下后我就急切的盼望秋天的到来)回复于 2006-02-04 14:24:10 得分 0
楼上的,这样写不太好吧.这个方法我也知道,但是如果test有500行内容,叫你输出第300,301行的内容呢??Top
6 楼iamcaicainiao(老菜,长征)回复于 2006-02-05 08:45:59 得分 0
to lz xyjchinese (红烧鲨鱼)
你好,呵呵。
我晕了晕了 那个帖,你怎么不给分揭帖呢。8能回答完问题就木有啦?^_^
害得偶都8想积极回答你别得问题喽:)Top
7 楼iamcaicainiao(老菜,长征)回复于 2006-02-05 08:55:08 得分 10
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
ifstream infile("test.txt");
string strBuf, s;
int i=0;
while(getline(infile, strBuf)){
i++;
if((i==300) OR (i==301)){
s=strBuf + "\n";
cout<<s;
}
if(i>301) break;
}
return 0;
}Top
8 楼xyjchinese(春天把老婆种到地下后我就急切的盼望秋天的到来)回复于 2006-02-05 14:15:30 得分 0
to iamcaicainiao(菜菜鸟)
那贴我结完了,你能说说while这里吗,我这有点看不懂,300和301是什么啊Top
9 楼iamcaicainiao(老菜,长征)回复于 2006-02-05 15:12:23 得分 0
叫你输出第300,301行的内容呢??
Top
10 楼xyjchinese(春天把老婆种到地下后我就急切的盼望秋天的到来)回复于 2006-02-05 21:43:01 得分 0
to iamcaicainiao(菜菜鸟)
我的意思是说,有没有向数组指针似的,指到特定的行数.Top
11 楼iamcaicainiao(老菜,长征)回复于 2006-02-05 21:48:31 得分 0
int fseek( FILE *stream, long offset, int origin );
Return Value
If successful, fseek returns 0. Otherwise, it returns a nonzero value. On devices incapable of seeking, the return value is undefined.
Parameters
stream
Pointer to FILE structure
offset
Number of bytes from origin
origin
Initial position
这个是指到特定的字节数(偏移)Top
12 楼magietao(淘子)回复于 2006-03-08 13:37:55 得分 0
markTop




