分词算法学习笔记之fscanf函数以及EOF

本文介绍了fscanf函数的作用,它从流中进行格式化输入,遇到空格和换行时停止,不同于fgets。fscanf的使用方法包括指定文件指针、格式字符串和输入列表。示例代码展示了如何读取字符串、整数和浮点数。文章还提及EOF作为文本文件结束标志,其通常值为-1。

百度百科的解释:

函数名: fscanf
  功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
  用 法: int fscanf(FILE *stream, char *format,[argument...]);
  int fscanf(文件指针,格式字符串,输入列表);
  for example:
  FILE *fp;
  char a[];
  int b;
  double c;
  fscanf(fp,"%s%d%lf",a,&b,&c)
  返回值:整型,数值等于[argument...]的个数


fscanf用来格式化读写函数,读写内容是磁盘文件,而不是键盘和显示器。

调用格式:fscanf(文件指针,格式字符串,输入表列);


EOF(End Of File):表示资料源无更多的资料可读取,在循环中以EOF作为文件结束的标志,这种以EOF作为文件结束标志的文件,必须是文本文件。

EOF的通常值为-1


例如:

//打开词典
void CDict::OpenDict()
{
	FILE*fp;
	fp=fopen("words.dict","r");
	if(fp==NULL)
	{
		cout<<"词典不能打开"<<endl;
		exit(1);
	}
	char word[16];
	int id,freq;
	while(fscanf(fp,"%d %s %d",&id,word,&freq)!=EOF)
	{
		//将从词典文件中读取的数据插入hash_mapDict容器中
		hash_mapDict.insert(pair<string,int>(word,0));
	}
	fclose(fp);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值